关于MySQL 5.6 中文乱码的问题(尤其是windows的gbk编码)
生活随笔
收集整理的這篇文章主要介紹了
关于MySQL 5.6 中文乱码的问题(尤其是windows的gbk编码)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一般MySQL 數據庫亂碼由以下幾種情況造成(按照順序):
1. 創建數據庫的時候沒設置編碼,解決辦法: 就是在創建數據庫的時候設置編碼, 例如: CREATE DATABASE `mydb` CHARACTER SET utf8 COLLATE utf8_general_ci;2. 創建數據表的時候沒設置數據庫引擎編碼, 解決辦法:CREATE TABLE `tb_album` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`name` varchar(100) NOT NULL DEFAULT '', PRIMARY KEY (`id`))ENGINE=InnoDB DEFAULT CHARSET=utf8;3.MySQL導入.sql文件的時候,由于編碼問題,導致中文亂碼,首先進入數據庫 mysql -u root -p 然后輸入密碼進入, 然后輸入命令查看編碼show variables like 'char%'; 你會發現很多編碼默認都是gbk,而且character_set_server(這個就是導入.sql文件的時候導致亂碼的原因)的編碼默認是latin1,
其他的都可以在mysql控制臺通過命令 set xxx = utf8; 修改編碼(永久修改),
唯獨character_set_server不行,退出之后再登錄還是latin1, 解決辦法:找到MySQL安裝目錄下的my.ini,設置default-character-set=utf8 和 character_set_server=utf8
如果你的MySQL是免安裝版,那么是沒有my.ini的,安裝目錄下只有my-default.ini文件,而且打開也沒有character-set-server,
先把my-default.ini拷貝一份,并重命名為my.ini,這樣該目錄下就有了my.ini和my-default.ini兩個ini文件
然后打開my.ini加上以下三行代碼
[client]
default-character-set=utf8
/[mysqld]/
character-set-server=utf8
具體位置如下:
然后重新啟動MYSQL服務就發現character-set-server已經不再是latin1了:
轉載于:https://www.cnblogs.com/nyist-xsk/p/11346119.html
總結
以上是生活随笔為你收集整理的关于MySQL 5.6 中文乱码的问题(尤其是windows的gbk编码)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 23种设计模型 - 装饰模式
- 下一篇: 拉钩网数据抓取