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

在使用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:MySQLMySQL?Server?5.0sharecharsets?|  +--------------------------+-------------------------------------------+

二、修改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:wamp64binmysqlmysql5.7.9sharecharsets?|  +--------------------------+------------------------------------------------+

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

這樣在web端也設置成utf8編碼就可以正常輸入數據庫了。

? 版權聲明
THE END
喜歡就支持一下吧
點贊10 分享