非常好的一篇关于MYSQL编码问题的文章
非常好的一篇關于MYSQL編碼問題的文章
問題:通過sql語言向數據庫中添加中文的數據的時候,查詢是顯示的是亂碼。
原因:當初安裝數據庫是默認的編碼是latin1編碼(Latin1是ISO-8859-1的別名,有些環境下寫作Latin-1)
解決:?我是講latin1編碼改為gbk???,,,如過你不是,我相信也差不多按照這寫步驟。
①首先進入到mysql暗轉目錄下,記事本打開my.ini文件將
default-character-set=latin1????改為????default-character-set=gbk
default-character-set=latin1?????改為???default-character-set=gbk????注意有兩行
②但是修改了這兩行還不夠,因為你的數據庫編碼依然還是latin1,你可以doc進入mysql命令下,運行show?variables?like?'character%';?顯示的內容是:
+--------------------------+-----------------------------------+
|?Variable_name????????????|?Value?????????????????????????????|
+--------------------------+-----------------------------------+
|?character_set_client?????|?gbk???????????????????????????????|
|?character_set_connection?|?gbk???????????????????????????????|
|?character_set_database???|?latin1????????????????????????????|?????????//此處顯示數據庫依然是latin1編碼
|?character_set_filesystem?|?binary????????????????????????????|
|?character_set_results????|?gbk???????????????????????????????|
|?character_set_server?????|?gbk???????????????????????????????|
|?character_set_system?????|?utf8??????????????????????????????|????????????//此處是系統默認的
|?character_sets_dir???????|?E:\phpStudy\MySQL\share\charsets\?|
+--------------------------+-----------------------------------+
③修改默認編碼有兩種方法?
1》在創建數據庫時指定字符集create?database?yourDB?CHARACTER?SET?gbk;
?如果是MYSQL數據庫編碼不正確:?可以在MYSQL執行如下命令:?ALTER?DATABASE?`test`?DEFAULT?CHARACTER?SET?gbk?COLLATE?gbk_chinese_ci
?修改MYSQL表的編碼:ALTER?TABLE?`category`?DEFAULT?CHARACTER?SET?gbk?COLLATE?gbk_chinese_ci
?修改字段的編碼:ALTER?TABLE?`test`?CHANGE?`dd`??VARCHAR(?45?)?CHARACTER?SET?gbk?COLLATE?gbk_chinese_ci?NOT?NULL
2》我是用的這種方法,因為我電腦上配置了php環境所以可以用這種方法:即運行一個php文件通過那個修改數據編碼。你通過網頁瀏覽該文件時填寫一些數據就能修改了?????文件下載地址http://dl.vmall.com/c08ge26aop???????????????????文件直接解壓到放php文件目錄通過瀏覽器打開就行
通過上面這些步驟差不多就能顯示出下面的內容了
在運行命令show?variables?like?'character%';???
+--------------------------+-----------------------------------+
|?Variable_name????????????|?Value?????????????????????????????|
+--------------------------+-----------------------------------+
|?character_set_client?????|?gbk???????????????????????????????|
|?character_set_connection?|?gbk???????????????????????????????|
|?character_set_database???|?gbk???????????????????????????????|
|?character_set_filesystem?|?binary????????????????????????????|
|?character_set_results????|?gbk???????????????????????????????|
|?character_set_server?????|?gbk???????????????????????????????|
|?character_set_system?????|?utf8??????????????????????????????|
|?character_sets_dir???????|?E:\phpStudy\MySQL\share\charsets\?|
+--------------------------+-----------------------------------+
④萬一還是不行。。。以為我也是一路試著來的,所以有些步驟可能我認為沒起作用但卻可能起了作用的有
1》mysql>?set?names?gbk;
Query?OK,?0?rows?affected?(0.00?sec)
它相當于下面的三句指令:
SET?character_set_client?=?gbk;
SET?character_set_results?=?gbk;
SET?character_set_connection?=?gbk;
因此,這個方法也可以解決所有字符編碼設置為gbk,而控制臺顯示中文亂碼的問題。
⑤當然你也可以試試SET?character_set_client?=?gbk;??即set這種命令來修改各個變量,但當時我不知道這個,也沒試過。如果你上面的方法不行可以試試這個。
總結
以上是生活随笔為你收集整理的非常好的一篇关于MYSQL编码问题的文章的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 回头看看的时候openeim001
- 下一篇: 淮安掼蛋网页版-源码头文件总结