jueves, 6 de febrero de 2014

Solución acentos o tildes o ñ eñes en mysql en PHP

Este es un apunte personal la cuál es la solución más viable y necesaria para solucionar el problema de ver caracteres como ñ o tildes de una consultar realizada en mysql y procesados con php 
Luego de establecer la conexión a una base de datos en necesario escribir la siguiente sentencia en el archivo php en cual estemos trabajando:

Si trabajas con el gestor mysql sería:
mysql_set_charset("utf8", $conexion);

En el caso de mysqli:
mysqli_set_charset($conexion, "utf8" );
En donde $conexión es la cadena de la conexión a la base de datos.
En el caso de mysqli la variable conexión tendría un cuarto parámetro que es especificar el nombre de la base de datos:
Quedando de la sigiuente manera:
$conexion = mysqli_connect("localhost", "root", "micontrasena", "mibasededatos");

Con tan sólo esa línea se soluciona la visualización de tildes y eñes de los datos de una tabla de mysql.
Read more ...


martes, 4 de febrero de 2014

Cambiar tablas a cotejamiento UTF-8 en MySQL

Este es un apunte personal acerca de cómo cambiar el formato de codificación , también llamado cotejamiento de una tabla en mysql a UTF-8, que por defecto al crearla en phpmyadmin por ejemplo, se crea con el siguiente formato: latin1_swedish_ci.

Para cambiar el formato de la tabla es necesario escribir la siguiente sentencia sql y ejecutarla.

ALTER TABLE cliente DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci


Lo que hace este comando es modificar el formato a utf-8, cosa que las columnas que, léase bien, "crearemos en adelante" tendrán el cotejamiento utf-8,  sin embargo, en el caso de las columnas ya creadas, éstas no sufrirán ninguna modificación.

Para alterar el formato de la o las columnas en particular, es necesario escribir el siguiente código sql. 
En el cual se incluye el nombre de la tabla, luego el nombre de columna a modificar luego el nombre nuevo de la columna, en este caso se mantiene igual y luego el tipo: varchar para este ejemplo. Finalmente se establece el tipo utf8 en "utf8_general_ci" o el formato que desees como utf8_spanish_ci, etc.

ALTER TABLE `cliente` CHANGE `nombre` `nombre` VARCHAR(30 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ;

NOTA: Los caracteres que encierran los nombres de tabla y columna, no son comillas dobles ni simples.
Read more ...