Crear nuestras bases de datos MySQL por defecto en UTF8

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..?

    By luis
    | Tuesday, 4 March 2008
  • Lo mejor es utilizar utf8.

    | Wednesday, 5 March 2008
  • 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.

    By hely
    | Thursday, 3 April 2008
  • 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

    By hely
    | Thursday, 3 April 2008
  • 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.

    | Thursday, 3 April 2008
  • 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!

    | Wednesday, 30 September 2009

Leave a comment