萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> MySQL插入中文漢字亂碼問題解決方案

MySQL插入中文漢字亂碼問題解決方案

mysql導入字體數字沒有問題但導致漢字中文有問題我們就可以從字符編碼問題來解決了,下面我來給大家介紹一下關於mysql亂碼問題的處理方法。


1、腳本語句

導入之前,先charset gbk。

修改表字段編碼:

注意:這裡用導入的方式插入的數據,控制台會報錯。在我們的客戶端工具中執行,就不會報錯了。

2、MyBatis中,xml文件引入成為mapper的配置:

3、寫junit測試類的時候,中文數據不能正常讀取:

解決辦法:字符串連接參數要添加一下。。

修改my.ini文件

用記事本或UitraEdit打開mysql數據庫安裝目錄下的my.ini文件打開, 然後Ctrl+F搜索default-character-set,將後面的字符集修改為UTF8,注意要修改兩個地方,一個事客戶端的,一個是服務端的。

下修改my.ini

添加以下語句

[client]
default_character_set=utf8
[mysqld]
character-set-server = utf8
collation-server = utf8_general_ci
[mysql]
default_character_set=utf8

重啟mysql服務,再次運行

然後保存,重啟mysql服務

如果服務器設置沒問題,只是php連接時出mysql亂碼我們可參考下面方法解決

在mysql_connect後面加一句SET NAMES UTF8 或是GBK,根據數據庫的設定而定。代碼如下

數據庫采用UTF8編碼,而頁面申明編碼是GB2312,這是最常見的產生亂碼的原因。這時候在PHP腳本裡面直接SELECT數據出來的就是亂碼,需要在查詢前先使用:

mysql_query("SET NAMES GBK")2
或mysql_query("SET NAMES GB2312")2

例子

$mysql_mylink = mysql_connect($mysql_host, $mysql_user, $mysql_pass)2
mysql_query("SET NAMES 1UTF81")2 //UTF8 這個就是你mysql字符編碼了

copyright © 萬盛學電腦網 all rights reserved