2015-12-13 18 views
5

Tôi đã cài đặt MySQL 5.7.8 trên Ubuntu 14.04 của mình.Không thể thay đổi bộ ký tự trong MySQL 5.7 (từ latin sang utf8)

Nhưng tôi không thể sửa đổi bộ ký tự mặc định của MySQL. Tôi muốn thay đổi bộ ký tự thành utf8.

Tôi đã tìm kiếm và xem nhiều bài viết trên internet, nhưng mọi phương pháp mà tôi đã cố gắng không áp dụng cho tôi.

Tôi đã thêm 'character-set-server = utf8' và 'collation-server = utf8_general_ci' vào /etc/mysql/my.cnf. nhưng nó không hoạt động ...

Làm cách nào để thay đổi bộ ký tự MySQL của tôi? Vui lòng trả lời tôi!

  • Status trong 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 
    
  • chương trình biến như '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 (trong/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 
    

Trả lời

5
  • Thiết UTF-8 character setcollation cho máy chủ MySQL:

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

Sau đó nhấn i và thêm dòng sau:

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

Nhấn Esc sau đó :w rồi :q!

Sau đó khởi động lại máy chủ:

sudo /etc/init.d/mysql restart 

Kiểm tra cấu hình của bạn:

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 UTF-8 character setcollation cho các bảng cơ sở dữ liệu và:

Chỉ định nó rõ rệt en tạo cơ sở dữ liệu:

CREATE DATABASE some_database CHARACTER SET utf8 COLLATE utf8_general_ci;

Kiểm tra cấu hình của bạn:

mysql> SHOW CREATE DATABASE ... 
mysql> SHOW CREATE TABLE ... 
Các vấn đề liên quan