Por defecto MySQL crea sus bases de datos en latin1, y para guardar todo tipo de caracteres de forma apropiada es mejor decirle que por defecto las cree con UTF8.
Si tenemos acceso de escritura al archivo /etc/my.cnf le podemos añadir:
[mysqld]
character-set-server = utf8
[client]
default-character-set = utf8
Si no podemos hacer lo mismo con el achivo ~/.my.ini (configuración por usuario)
Despues de reiniciar MySQL ya creará las nuevas bases de datos con UTF8
Otra opción es indicarlo en el momento de la creación:
mysql -u root -e "CREATE DATABASE application_name_development CHARACTER SET 'UTF8';"
Si vamos a crear la base de datos con Rails 2 (db:create:all), ya le asigna el encoding que tengamos definido en database.yml.













6 Comments
buenas, estoy empezando con mysql, para sitios en español con la ñ y todo eso, es mejor ponerle utf8 o latin a mysql..?
Lo mejor es utilizar utf8.
lo mejor mejor pero lo mejor es usar codigos html para los caracteres raros, asi la
ñ = ñ
…. Igual para tildez, ampersanes, y todos esos simbolitos raros, pero el trabajo se incrementa para ello hay que que convertir todo a entidades HTML antes de ingresarlos a la BD en los Insert into, pero no es del otro mundo,
Ahora al momento de verlos en pantalla SIEMPRE SIEMPRE se ven OK sin importar la pagina de codigos.
No les dieje que era tan bueno que me convirtio lo que escribi en el port pasado a ñ
ñ = & ntilde ; (sin espacios)
A tildada = & Aacute ;
etc etc
El problema de utilizar códigos HTML es que no te puedes salir de los 252 códigos permitidos, como por ejemplo caractereres chinos. Así que lo mejor es utilizar UTF-8 y 1)no te preocupas si vas a necesitar caracteres fuera de ese rango o no, 2) te olvidas de la codificación antes de insertarlo en cualquier lado, 3) si lo utilizas correctamente SIEMPRE se ven OK.
Además cabe destacar que si usas AJAX en tu sitio, sólo podrás enviar y recibir UTF-8, de lo contrario deberás pasar todo primero por un proxy que convierta todo, un lío, en síntesis. Todo el mundo ya toma por estándar el UTF-8 para los nuevos sitios que se crean y los más conocidos (Wikipedia, Facebook, etc, etc, etc). Saludos!