maxirosson/media-fever — pull request #141 by ecaravatti (2013-10-27 23:56:53+00:00)
Title: Refs #134: Setting DB encoding to UTF-8

Probé varias formas como por ejemplo:
* Agregar properties de encoding y de charset para Hibernate
* Cambiar el dialect que usa el Hibernate por uno custom que le especifique el charset.

Pero lo único que me funcionó fue pasar el encoding por parámetro en la URL de la DB. Para esto cree un DataSource que se lo agregue directamente, porque si lo dejábamos como parte de la configuración en los properties un un poco propenso a que nos olvidemos de ponerlo.

Además de esto, la DB también tiene que estar seteada para soportar UTF-8. Para probar si está podés correr las siguientes queries:

* SELECT 'ペ' AS `ペ`;
* SELECT _ucs2 0x30da;

Ambas deberían devolverte ペ, si no es así hay algo que no está bien configurado en la DB.

También podés probar esto:
mysql> SHOW VARIABLES LIKE 'char%';

Esto es lo que me devuelve a mi:
+--------------------------+----------------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------------------+