新聞中心
在Linux環(huán)境中,使用SQL操作數(shù)據庫時,經常會遇到中文亂碼的問題。這是因為Linux系統(tǒng)默認使用UTF-8編碼,而大多數(shù)數(shù)據庫使用的是GB2312或GBK編碼。本文將介紹幾種的方法。

成都創(chuàng)新互聯(lián)網站建設公司一直秉承“誠信做人,踏實做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務為基礎,以質量求生存,以技術求發(fā)展,成交一個客戶多一個朋友!專注中小微企業(yè)官網定制,網站設計、網站建設,塑造企業(yè)網絡形象打造互聯(lián)網企業(yè)效應。
1. 修改MySQL字符集
MySQL是一種常見的關系型數(shù)據庫管理系統(tǒng),它默認使用Latin1字符集。如果數(shù)據庫中保存的數(shù)據是中文,需要將MySQL字符集修改為GB2312或GBK。具體方法如下:
(1)打開MySQL配置文件my.cnf,通常位于/etc或/etc/mysql目錄下。
(2)在[mysqld]下添加以下內容:
[mysqld]
character-set-server = gb2312
或
[mysqld]
character-set-server = gbk
(3)重新啟動MySQL服務生效。
這種方法需要重啟MySQL服務才能生效,如果MySQL使用的是其它字符集,也可以根據需要進行相應的修改。
2. 修改MySQL客戶端字符集
在使用MySQL客戶端連接數(shù)據庫時,也可以指定客戶端使用的字符集。具體方法如下:
(1)打開MySQL配置文件my.cnf,通常位于/etc或/etc/mysql目錄下。
(2)在[client]下添加以下內容:
[client]
default-character-set = gb2312
或
[client]
default-character-set = gbk
(3)保存配置文件。
3. 修改Linux系統(tǒng)字符集
另一種的方法是修改Linux系統(tǒng)字符集。具體方法如下:
(1)打開Linux系統(tǒng)字符集配置文件/etc/environment,添加以下內容:
export LANG=zh_CN.GBK
或
export LANG=zh_CN.UTF-8
(2)保存配置文件。
4. 修改SQL語句中文字符集
如果MySQL字符集和Linux系統(tǒng)字符集都設置為UTF-8,但是執(zhí)行SQL語句時仍出現(xiàn)中文亂碼,可以嘗試在SQL語句中指定字符集。具體方法如下:
(1)在SQL語句前添加以下內容:
set names ‘gb2312’;
或
set names ‘gbk’;
(2)執(zhí)行SQL語句。
Linux下SQL中文亂碼問題是很常見的問題,但是有多種解決方法??梢酝ㄟ^修改MySQL字符集、客戶端字符集、Linux系統(tǒng)字符集或SQL語句中的字符集指定來解決。不同的解決方法適用于不同的場景,需要根據實際情況選擇。
成都網站建設公司-創(chuàng)新互聯(lián),建站經驗豐富以策略為先導10多年以來專注數(shù)字化網站建設,提供企業(yè)網站建設,高端網站設計,響應式網站制作,設計師量身打造品牌風格,熱線:028-86922220linux下mysql數(shù)據庫中的中文不能正常顯示 正常顯示的中文轉移到windows環(huán)境下不能正常顯示了
找開發(fā) 統(tǒng)一編碼
在mysql_connect后面加一句SET NAMES UTF8 或是GBK,根據數(shù)據庫的設定而定。代碼如下
$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_query(“SET NAMES ‘UTF8′”);
或是考慮mysql的語言設置是否正確:
學習修改mysql的character設置。
MySQL 4.1以上版本的字符集支持(Character Set Support)有兩個方面:字符集(Character set)和排序方式(Collation)。對于字符集的支持細知運化到四個層次: 服務器(server),數(shù)羨弊據庫(database),數(shù)據表(table)和連接(connection)。我們最終的目標是使得這四個層次轉化會支持中文的編碼。
命令一:mysql> SHOW VARIABLES LIKE ”character_set_%”;
查看系統(tǒng)的字符集,結果如下
++-+
| Variable_name| Value|
++-+
| character_set_client | utf|
| character_set_connection | utf|
| character_set_database | utf|
| character_set_filesystem | binary|
| character_set_results | utf|
| character_set_server | gbk|
| character_set_system | utf|
| character_sets_dir| C:\Program Files\MySQL\MySQL Server 5.1\share\charsets\ |
++-+
命令二:mysql> SHOW VARIABLES LIKE ”collation_%”;
查看系統(tǒng)的排序方式,搭派梁結果如下
++—+
| Variable_name| Value|
++—+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | gbk_chinese_ci |
++—+
命令三:SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;
另外一種方法是:SET NAMES “UTF8”;
總之就是用這個方法改變字符集設置,是設成utf8還是gbk根據自己的實際情況定。
亂碼的引起都是兩種編碼不一樣導致的。解決方法就是同一編碼
如果linux下的數(shù)據庫移植到window下不能用,那就是window下的數(shù)據庫編碼和linux不一直,修改方法就是:打來window下mysql安裝目錄的my.ini修改“default-character-set=‘和linux下mysql一樣的編碼’”即可,linux下的mysql配置文搜孫爛件時my.cnf
不過上面的一切都是保證了其世漏他凱凳編碼一直后(如:網頁編碼等)
在數(shù)據查詢執(zhí)行之前執(zhí)行 SET NAMS ‘GB2312’ 這個語句即可
關于linux sql中文亂碼的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。
成都創(chuàng)新互聯(lián)科技公司主營:網站設計、網站建設、小程序制作、成都軟件開發(fā)、網頁設計、微信開發(fā)、成都小程序開發(fā)、網站制作、網站開發(fā)等業(yè)務,是專業(yè)的成都做小程序公司、成都網站建設公司、成都做網站的公司。創(chuàng)新互聯(lián)公司集小程序制作創(chuàng)意,網站制作策劃,畫冊、網頁、VI設計,網站、軟件、微信、小程序開發(fā)于一體。
當前文章:解決Linux下SQL中文亂碼問題(linuxsql中文亂碼)
網頁鏈接:http://www.dlmjj.cn/article/coojgcp.html


咨詢
建站咨詢
