2010-01-27 16 views
6

Credo che questo dovrebbe essere semplice ma non riesco a capire come impostare il set di caratteri quando si crea un db con "mysqladmin create". Ho pensato che questo avrebbe funzionatoCome creare un db utf8 con mysqladmin

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

sfruttando questo po 'di testo mysqladmin --help:

-O, --set-variabile = nome Cambiare il valore di una variabile. Si noti che questa opzione è obsoleta; è possibile impostare le variabili direttamente con --variable-name = value.

ho provato anche questa

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

In entrambi i casi, il db è stato creato senza lamentarsi, ma non credo che ha funzionato:

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/ | 
+--------------------------+----------------------------+ 

Vedo che character_set_system è utf8, ma tutti i latin1 sopra mostreranno utf8?

grato per qualsiasi consiglio - max

+0

BTW, mi tipo di riparato questo cambiando il mio mysql config per usare utf8, seguendo questo post del blog: http: //boblet.tumblr.com/post/44164369/mysql-utf8 Quindi, i nuovi dbs hanno utf8. Ma mi piacerebbe ancora sapere se posso impostarlo quando creo un db. –

risposta

-1

No, le variabili che avete visualizzate sono le opzioni di vostra connessione, non il database. Se fai un dump del database, vedrai che tutto è a posto. Per ulteriori opzioni, vedere Comando NAMES SET "charset" in MySQL Manual.

+0

ah ... chiaramente ho alcune cose da imparare. Grazie! –

-1

Sto tornando per rispondere alla mia domanda, poiché ho appena provato a farlo con un'installazione più recente di mysql e non ha funzionato: penso che le opzioni siano cambiate.

in MySQL 5.5, che ho, le opzioni di configurazione rilevanti (per rendere i database di default per set di caratteri utf8) sono:

[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 
Problemi correlati