2010-01-27 19 views
6

Siento que esto debería ser simple, pero no sé cómo configurar el conjunto de caracteres cuando se hace una base de datos con "mysqladmin create". Pensé que esto iba a funcionarCómo crear un db utf8 con mysqladmin

mysqladmin -u root db_name --character-set=utf8 

aprovechando este bit del texto mysqladmin --help:

-O, -set-variable = nombre cambiar el valor de una variable. Tenga en cuenta que esta opción está en desuso; puede establecer variables directamente con --variable-name = value.

también intenté este

mysqladmin -u root create db_name --default-character-set=utf8 

En ambos casos, el PP fue creado sin quejarse, pero no creo que ha funcionado:

mysql> SHOW VARIABLES like '%character%'; 
+--------------------------+----------------------------+ 
| Variable_name   | Value      | 
+--------------------------+----------------------------+ 
| character_set_client  | latin1      | 
| character_set_connection | latin1      | 
| character_set_database | latin1      | 
| character_set_filesystem | binary      | 
| character_set_results | latin1      | 
| character_set_server  | latin1      | 
| character_set_system  | utf8      | 
| character_sets_dir  | /usr/share/mysql/charsets/ | 
+--------------------------+----------------------------+ 

Veo que character_set_system es UTF-8, pero, ¿deberían mostrar todos los latin1 de arriba utf8?

agradecido por cualquier consejo - max

+0

Por cierto, que tipo de fijo esto cambiando mi config mysql para utilizar UTF-8, siguiendo esta publicación en el blog: http: //boblet.tumblr.com/post/44164369/mysql-utf8 Por lo tanto, los nuevos dbs tienen utf8. Pero, aún me gustaría saber si puedo configurarlo cuando creo un db. –

Respuesta

-1

No, las variables que se han se indican las opciones de su conexión, no la base de datos. Si realiza un volcado de base de datos, verá que todo está en su lugar. Para obtener más opciones, vea SET NAMES 'charset' comando en MySQL Manual.

+0

ah ... claramente tengo algunas cosas que aprender. ¡Gracias! –

-1

Vuelvo para responder a mi propia pregunta, ya que intenté hacer esto con una instalación más reciente de mysql y no funcionó: creo que las opciones han cambiado.

En MySQL 5.5, que tengo, las opciones de configuración relevantes (para que por defecto bases de datos para el conjunto de caracteres UTF-8) son:

[client] 
default-character-set = utf8 

[mysql] 
default-character-set = utf8 

[mysqld] 
collation-server = utf8_unicode_ci 
init-connect = 'SET NAMES utf8' 
character-set-server = utf8 
Cuestiones relacionadas