在使用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