程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MYSQL入門知識 >> 解決MySQL中文亂碼的好用方案大匯總

解決MySQL中文亂碼的好用方案大匯總

編輯:MYSQL入門知識
 

以下的文章主要介紹的是解決MySQL中文亂碼的好用方案大匯總,我們大家都知道在使用MySQL數據庫時,在插入中文字符的實際操作過程中,有時會出現一些亂碼,例如,中文全被用?代替。

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

在MySQL中,如果使用缺省的字符集,在建庫、建表時,默認使用的是latin1字符集,為ISO 8859-1西歐字符集。

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

本人使用的是MySQL 5.0版,並用C#操作MYSQL數據庫,當插入中文字符時,發現顯示的是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.建立數據庫是一般的語句:

2.在庫中建表時語句為:

3.程序中連接數據庫的Connection對象需要寫成

4.若在終端下用mysql命令向數據庫插入數據,則在進入mysql時的命令寫成:

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

我找到一個方法好像可以MySQL中文亂碼解決這個問題了

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

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

 

然後再執行自己的查詢語句,得到的結果就是正確的了。剛剛試了gb2312和utf-8,都沒有問題。以上的相關內容就是對MySQL中文亂碼解決方案集錦的介紹,望你能有所收獲。

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved