中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Redhat5下MySql遇到的亂碼問題怎么解決

發布時間:2021-09-01 15:58:13 來源:億速云 閱讀:105 作者:chen 欄目:數據庫

本篇內容介紹了“Redhat5下MySql遇到的亂碼問題怎么解決”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

我在上安裝了redhat并安裝了mysql,并在本地通過java訪問,直接使用jdbc訪問。
后來發現當數據庫存儲漢字時存在亂碼問題,隨后在網上找資料進行解決,現在問題已經解決,來總結一下亂碼的幾個問題。
 
更改數據庫默認字符集編碼:
更改配置文件,這個配置文件在/etc/my.cnf,可能安裝mysql后這個文件就有了,如果沒有,請回到根目錄然后查詢cnf文件:
Java代碼  
find / -iname '*.cnf' -print  
 拷貝 small.cnf、my-medium.cnf、my-huge.cnf、my-innodb-heavy-4G.cnf其中的一個到/etc下,改名為my.cnf:
Java代碼  
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf  
 拷貝路徑根據查詢出來的結果修改。
修改my.cnf
Java代碼  
vi /etc/my.cnf  
 在[client]下添加
Java代碼  
default-character-set=gbk  
 在[mysqld]下添加
Java代碼  
default-character-set=gbk  
 然后重啟mysql。
登錄mysql查詢是否生效:
Java代碼  
mysql> show variables like 'collation_%';  
mysql> show variables like 'character_set_%';  
注意如果你設置的是UTF-8請設置utf8,而不是utf-8,否則你的mysql重啟時不能啟動。
 
 
修改數據庫字符集后再修改數據庫的字符集:
Java代碼  
mysql>use mydb  
mysql>alter database mydb character set gbk;  
 建議是在創建數據庫時就指定字符集
Java代碼  
mysql>create database mydb character set gbk;  
除了使用命令來修改數據的字符集,也可以修改其配置文件
修改 /var/lib/mysql/mydb/db.opt
Java代碼  
default-character-set=latin1  
default-collation=latin1_swedish_ci  
 為
Java代碼  
default-character-set=gbk  
default-collation=gbk_general_ci  
 重起MySQL 
 
建表時注意:
除了修改mysql和其數據庫的字符集外,要注意建表時你可能用的是導出的SQL語句,這些語句中可能包含了建表的字符集,一定要修改或刪除這些語句:
Sql代碼  
CREATE TABLE `NewTable` (  
`id`  int(11) NOT NULL ,  
`name`  varchar(50) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL ,  
`age`  int(100) NULL DEFAULT NULL ,  
PRIMARY KEY (`id`)  
)  
ENGINE=MyISAM  
DEFAULT CHARACTER SET=gbk COLLATE=gbk_chinese_ci  
CHECKSUM=0  
ROW_FORMAT=DYNAMIC  
DELAY_KEY_WRITE=0  
;  
 
連接方面:
如果數據庫配置正確,那么使用管理工具如Navicat for MySQL時就不會有問題了,但是在程序中難免還是有問題。 
除了對于數據庫方面的注意外,在連接數據庫要注意指定連接的字符集
Java代碼  
jdbc:mysql://192.168.154.128:3306/t2?useUnicode=true&characterEncoding=gbk  
 
程序方面:
可是就算到這里仍然可能是亂碼,但是沒有那么嚴重了,這就要你在代碼中進行轉換了。
Java代碼  
String newStr = new String(s.getBytes("ISO-8859-1"),"GBK");  

“Redhat5下MySql遇到的亂碼問題怎么解決”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

曲靖市| 巢湖市| 丹凤县| 花垣县| 万载县| 喀喇| 蕲春县| 南开区| 项城市| 柞水县| 伊春市| 龙山县| 大足县| 西吉县| 察哈| 东港市| 临安市| 抚州市| 大余县| 怀远县| 河西区| 吴堡县| 广东省| 安图县| 沽源县| 武山县| 韶关市| 万安县| 乌兰察布市| 乌拉特前旗| 长阳| 永春县| 边坝县| 辉县市| 错那县| 微山县| 南溪县| 大洼县| 惠安县| 仁化县| 高州市|