首頁  >  文章  >  資料庫  >  詳解Mysql5.7中文亂碼問題的解決方法

詳解Mysql5.7中文亂碼問題的解決方法

黄舟
黄舟原創
2017-03-17 13:30:351608瀏覽

使用mysql5.7時,會發現透過web端向資料庫寫入中文後會出現亂碼,但在資料庫中直接操作SQL語句插入資料後中文就顯示正常,這個問題怎麼解決呢,下面小編給大家分享下解決​​方案

 在使用mysql5.7時,會發現透過web端向資料庫寫入中文後會出現亂碼,但在資料庫中直接操作SQL語句插入資料後中文就顯示正常,這個問題要怎麼解決呢?此處不對MySQL的資料編碼過程和原理進行講解,如果有興趣的同學可以自己百度。

下面我們就直接使用以下操作解決:

一、開啟mysql控制台,輸入指令show variables like 'character%';

顯示如下:

 +--------------------------+-------------------------------------------+
| Variable_name      | Value                   |
+--------------------------+-------------------------------------------+
| character_set_client   | latin1                  |
| character_set_connection | latin1                  |
| character_set_database  | utf8                   |
| character_set_results  | latin1                  |
| character_set_server   | utf8                   |
| character_set_system   | utf8                   |
| character_sets_dir    | C:\MySQL\MySQL Server 5.0\share\charsets\ |
+--------------------------+-------------------------------------------+

二、修改my.ini檔案

 [client]

  default-character-set=utf8

  [mysqld]
  default-storage-engine=INNODB
  character-set-server=utf8
  collation-server=utf8_general_ci

三、重新啟動後使用第一步的指令查看,如下:

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

還有character_set_database和character_set_server的預設字元集還是latin1。

四、輸入指令:set names utf8;

  重啟後,使用第一步指令查看:

+--------------------------+------------------------------------------------+
| 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 | C:\wamp64\bin\mysql\mysql5.7.9\share\charsets\ |
+--------------------------+------------------------------------------------+

除了character_set_filesystem是binary外,其他都是utf8了,

這樣在web端也設定成utf8編碼就可以正常輸入資料庫了。

以上是詳解Mysql5.7中文亂碼問題的解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn