2015-12-13 18 views
5

Ubuntu 14.04'ümde MySQL 5.7.8'i kurdum.MySQL 5.7'de karakter takımı değiştirilemiyor (latin'den utf8'e)

Ancak MySQL varsayılan karakter kümesini değiştiremiyorum. Charset'i utf8'e değiştirmek istiyorum.

İnternette birçok makale arayabilir ve görüntüledim, ancak denediğim her yöntem benim için geçerli değil.

/etc/mysql/my.cnf dosyasına 'character-set-server = utf8' ve 'collation-server = utf8_general_ci' ekledim. ama çalışmıyor ...

MySQL karakterimi nasıl değiştirebilirim? Lütfen bana cevap verin!

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 
  • göster değişkenleri '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 gibi MySQL (/ etc/MySQL) içerisinde

    • durumu

      [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 
      
  • cevap

    5
    • Ayar UTF-8 MySQL sunucusu için character set ve collation:

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

    Sonra i basın ve aşağıdakileri ekleyin: Sonra

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

    Basın Esc:w o zaman :q! UTF-8 character set ve veritabanı ve tablolar için collation

    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) 
    
    • Setting:

    belirtin

    sudo /etc/init.d/mysql restart 
    

    yapılandırmanızı kontrol edin:

    Sonra sunucuyu yeniden başlatın açıkça wh veritabanı oluşturma tr:

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

    CREATE DATABASE some_database CHARACTER SET utf8 COLLATE utf8_general_ci;

    yapılandırmanızı kontrol edin

    İlgili konular