如何將character_set_database latin1 改為 gbk


問題:通過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這種命令來修改各個變量,但當時我不知道這個,也沒試過。如果你上面的方法不行可以試試這個。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM