MySQL中文亂碼解決方案集錦

來源:互聯網
上載者:User

整理一些MySQL中文亂碼解決方案,比較實用。

在使用MySQL時,插入中文字元,經常會出現亂碼,中文全被用?代替。

出現這種情況的原因,多是字元集不匹配造成的。

在MySQL中,如果使用預設的字元集,在建庫、建表時,預設使用的是latin1字元集,為ISO 8859-1西歐字元集。

插入中文字元時,與之不匹配,就會出現亂碼。

本人使用的是MySQL 5.0版,並用C#操作MYSQL資料庫,當插入中文字元時,發現顯示的是亂碼。

初步估計是字元集沒有配對。尋找後,發現MSYQL預設使用的是latin1,因此將資料庫的設定檔中的字元設定改為utf8,並在C#中將中文字元,轉為utf8,插入後,仍為亂碼。

MySQL也支援gb2312,又將MySQL的字元設定改為gb2312,C#中使用Default,重起MySQL後,操作仍然無效。

後想起,雖然將MySQL的字元集設定為gb2312或utf8,但已經建立的資料庫和表,仍採用的是預設的字元集,也即仍為當初的西歐字元集,最好,只得忍痛將資料庫刪除,重新以gb2312字元集建立資料庫和表。

再用C#插入中文字元後,一切OK。

再安裝好MySQL後,可以手工或使用組態工具,將my.ini檔案中的預設字元集改為gb2312,再重建立庫和表時,不用再在語句中指定字元集,其預設設定也即為gb2312,可以正常顯示中文字元集。

-------------------------------

1.建立資料庫是一般的語句: create database dbname;

2.在庫中建表時語句為: create table tbname(..........)engine=MyISAM character set gbk collate gbk_chinese_ci;

3.程式中串連資料庫的Connection對象需要寫成Connection con = DriverManaager.getConnection("jdbc:mysql://...user=..&password=...&useUnicode=true&characterEncoding=gbk");

4.若在終端下用mysql命令向資料庫插入資料,則在進入mysql時的命令寫成:#mysql --default-character-set=gbk -u ... -p

5.在jsp頁面的編碼設定為utf-8.

-------------------------------

我找到一個方法好像可以解決這個問題了

在安裝mysql server的時候,無論是選擇gb2312還是utf-8,都沒有關係,這些字元集在phpMyAdmin中都可以很好的工作,主要是自己的指令碼要正確的顯示中文,可以在php指令碼中,串連資料庫之後,正式的資料查詢提交之前執行下面的語句:

$SetCharacterSetSql = "SET NAMES '自己使用的字元集'";

$Recordset1 = mysql_query($SetCharacterSetSql, $conn_Resource) or die(mysql_error());

然後再執行自己的查詢語句,得到的結果就是正確的了。剛剛試了gb2312和utf-8,都沒有問題。

本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/twosecond/archive/2009/07/03/4316419.aspx

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.