2015-12-13 2 views
5

J'ai installé MySQL 5.7.8 sur mon Ubuntu 14.04.Impossible de changer le jeu de caractères dans MySQL 5.7 (du latin à utf8)

Mais je ne peux pas modifier le jeu de caractères MySQL par défaut. Je veux changer le jeu de caractères en utf8.

J'ai cherché et vu beaucoup d'articles sur Internet, mais chaque méthode que j'ai essayée ne s'applique pas pour moi.

J'ai déjà ajouté 'character-set-server = utf8' et 'collation-server = utf8_general_ci' dans /etc/mysql/my.cnf. mais cela ne fonctionne pas ...

Comment puis-je changer mon jeu de caractères de MySQL? S'il te plait réponds moi!

  • état dans MySQL

    Connection:    Localhost via UNIX socket 
    Server characterset: latin1 
    Db  characterset: latin1 
    Client characterset: utf8 
    Conn. characterset: utf8 
    UNIX socket:   /var/run/mysqld/mysqld.sock 
    Uptime:     1 min 24 sec 
    
  • variables d'émission comme 'c%'

    | character_set_client  | utf8      | 
    | character_set_connection | utf8      | 
    | character_set_database | latin1      | 
    | character_set_filesystem | binary      | 
    | character_set_results | utf8      | 
    | character_set_server  | latin1      | 
    | character_set_system  | utf8      | 
    | character_sets_dir  | /usr/share/mysql/charsets/ | 
    | check_proxy_users  | OFF      | 
    | collation_connection  | utf8_general_ci   | 
    | collation_database  | latin1_swedish_ci   | 
    | collation_server   | latin1_swedish_ci   | 
    | completion_type   | NO_CHAIN     | 
    | concurrent_insert  | AUTO      | 
    | connect_timeout   | 10       | 
    | core_file    | OFF      | 
    
  • my.cnf (dans/etc/mysql)

    [mysqld] 
    # 
    # * Basic Settings 
    # 
    character-set-server=utf8 
    collation-server=utf8_general_ci 
    user   = mysql 
    pid-file  = /var/run/mysqld/mysqld.pid 
    socket   = /var/run/mysqld/mysqld.sock 
    port   = 3306 
    basedir   = /usr 
    datadir   = /var/lib/mysql 
    tmpdir   = /tmp 
    lc-messages-dir = /usr/share/mysql 
    skip-external-locking 
    character-set-server=utf8 
    collation-server=utf8_general_ci 
    init_connect=set collation_connection=utf8_general_ci 
    init_connect=set names utf8 
    character-set-client-handshake=FALSE 
    

Répondre

5
  • Réglage UTF-8 character set et collation pour le serveur MySQL:

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

Appuyez ensuite sur i et ajouter ce qui suit:

... 
[mysqld] 
character-set-server=utf8 
collation-server=utf8_general_ci 
... 

Appuyez sur Esc puis :w puis :q!

Ensuite, redémarrez le serveur:

sudo /etc/init.d/mysql restart 

Vérifiez votre configuration:

mysql> show variables like "%character%"; 


+--------------------------+----------------------------+ 
| 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  | utf8      | 
| character_set_system  | utf8      | 
| character_sets_dir  | /usr/share/mysql/charsets/ | 
+--------------------------+----------------------------+ 
8 rows in set (0.01 sec) 

mysql> show variables like "%collation%"; 


+----------------------+-----------------+ 
| Variable_name  | Value   | 
+----------------------+-----------------+ 
| collation_connection | utf8_general_ci | 
| collation_database | utf8_general_ci | 
| collation_server  | utf8_general_ci | 
+----------------------+-----------------+ 
3 rows in set (0.00 sec) 
  • Réglage UTF-8 character set et collation pour la base de données et tables:

Précisez explicitement wh en créant la base de données:

CREATE DATABASE some_database CHARACTER SET utf8 COLLATE utf8_general_ci;

Vérifiez votre configuration:

mysql> SHOW CREATE DATABASE ... 
mysql> SHOW CREATE TABLE ...