問題 開始於 使用mysql命令插入中文數據插不進去
ERROR 1366 (HY000): Incorrect string value: '\xD6\xD0\xCE\xC4' for column。
開始查看有關字符集的問題。
如果使用 set names 'gbk';
或者 set character_set_database 'utf8'; 這樣的命令來設置字符集的話,只是當前設置生效,下次重啟mysql的時候就失效了還要重新設置,麻煩,或者根本不好使
這時想到了修改默認的配置文件。於是乎開始了修改配置文件 my.ini到的道路。
查看我的電腦服務里是否有兩個服務一個是mysql 另一個mysql57(我這里安裝的版本是mysql5.7.17)網絡服務
如果使用 net start mysql 來啟動數據庫 那么開啟的服務就應該是 mysql
如果使用 net start mysql57 來啟動數據庫 那么開啟的服務就應該是mysql57
----------------------------------------------------------------------------------------------------------------------------------------------------------------
至於兩個什么關系我還在研究中,弄明白了再更新。。。。。。。
----------------------------------------------------------------------------------------------------------------------------------------------------------------
查看發現在服務里,默認加載的是這個路徑下的my.ini:
"C:/Program Files/MySQL/MySQL Server 5.6/bin\mysqld" --defaults-file="C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.7\my.ini" MySQL57
而原安裝路徑下是my-default.ini 以至於我把兩個弄混了,剛開始一頓在my-default.ini中改。。。。所以都無效。
所以把C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.7\my.ini" MySQL57 這個路徑下的my.ini 復制到C:\Program Files\MySQL\MySQL Server 5.7
這個路徑即可。
同時在my.ini 中添加如下內容
在[client]下添加
default-character-set=utf8
在[mysqld]下添加
character-set-server=utf8
這里注意不要打錯了。直接復制過去即可。
返回到命令行
>net start mysql
>mysql -uroot -p
Enter password: ******
> show variables like 'character_set%';
到此會發現除了filesystem 其他 已成功改為utf8
這是創建數據庫創建表插入中文 完全沒問題。還有很多疑問,等深入了解后再來更新。