MySql中文亂碼的解決方法

2021-04-01 07:15:14 字數 635 閱讀 3549

在使用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,可以正常顯示中文字符集。

MySQL中文亂碼解決方法

不想說的太虛,就記錄一下自己的處理方法 1 建立資料庫的時候採用utf8編碼,或者修改已有資料庫編碼為utf8 create database db character set utf8 或alter database db character set utf8 2 修改mysql目錄下的my.in...

Mysql中文亂碼的解決方法

show variables like char 顯示 亂碼的原因是各個變數的設定編碼不一樣所引起的,需要把上述變數都設定成utf8 除了character set server之外,其他的都能用 set character set utf8 的形式來解決,但是唯獨character set ser...

JAVA寫入Mysql中文亂碼解決方法

頁面傳值中有中文的時候,可以使用filter來搞掂,可是好容易system.out.println可以出中文了,插入到mysql裡,還是亂碼。超,你的免費空間可能也是這個問題 怎麼辦呢,做到以下幾點 1。建立資料庫的時候 create database db character set utf8 c...

JAVA寫入Mysql中文亂碼解決方法

頁面傳值中有中文的時候,可以使用filter來搞掂,可是好容易system.out.println可以出中文了,插入到mysql裡,還是亂碼。超,你的免費空間可能也是這個問題 怎麼辦呢,做到以下幾點 1。建立資料庫的時候 create database db character set utf8 c...

PHP讀MYSQL中文亂碼的解決方法

打算切換某個 的主機,沒想到遇到php和mysql中文亂碼的問題。以前的國外主機用的mysql是4.x系列的,感覺還比較好,都無論gbk和utf 8都沒有亂碼,沒想到新的主機的mysql是5.0版本的,匯入資料後,用php讀出來全是問號,亂碼一片,記得我以前也曾經有過一次切換出現亂碼的經驗,原因肯定...