MySQL4.1的latin1編碼與中文、藏文亂碼解決方案
MySQL4.1的latin1編碼與中文、藏文亂碼解決方案
MySQL4.1中字串的編碼是latin1,對中文、藏文支援都有問題,常常導致亂碼。
這個問題明明是MySQL歷史遺留的BUG,可是MySQL4已經在運營用中使用,不可能更換資料庫來解決,那隻能在程式上下功夫了。
一、中文亂碼問題,這個比較好解決
分析latin1的編碼實際上對應的是“ISO-8859-1”編碼。
Java中,要正確的獲取資料庫資料顯示中文,原理上需要將latin1轉換為GBK、GB13080即可,Java從結果集讀取getString()的時候,獲取的資料實際編碼是,實際對應的編碼是“ISO-8859-1”。
這樣就有辦法了,讀取資料,將資料從“ISO-8859-1”轉為“GBK/GB13080”。
方法如下:
1、在JDBC的連線URL後面加上useUnicode=true引數。
2、將讀取的結果集轉碼為GBK,比如:
String x = rs.getString("username");
String x1 = new String(xml.getBytes("ISO-8859-1"),"GBK")
String x1 = new String(xml.getBytes("ISO-8859-1"),"GBK")
二、藏文的解決辦法
實際上,中文的GB2312中已經包含了所有的藏文字元,因此只要將編碼轉換為"GBK"即可。但是MySQL的JDBC驅動對藏文支援有有問題,只有老版本的mysql-connector-java-3.0.17-ga.zip對藏文支援良好。為此當然選擇這個驅動了。
那麼,自然得到藏文的解決方案:
1、在JDBC的連線URL後面加上useUnicode=true引數。
2、選擇mysql-connector-java-3.0.17-ga.zip驅動
3、將讀取的結果集轉碼為GBK,比如:
String x = rs.getString("username");
String x1 = new String(xml.getBytes("ISO-8859-1"),"GBK")
String x1 = new String(xml.getBytes("ISO-8859-1"),"GBK")
在網上看到一些解決中文的問題,不少人說修改MySQL5的驅動,可是怎麼修改也沒發現誰給出程式碼,經過嘗試,MySQL驅動的開發者也不是吃乾飯的,你想改就改啊,不容易的。再說改動可能引起新的問題,不是好辦法。
順便給大家看看藏文,不過你要想在自己電腦上,需要安裝藏文字型:
歡迎交流此問題。
相關文章
- Spring MVC 中文編碼亂碼解決SpringMVC
- mysql 插入中文亂碼解決方案 轉MySql
- navicat for mysql顯示中文亂碼解決方案MySql
- css中文字型亂碼解決方案CSS
- python 中文亂碼問題解決方案Python
- RHEL中文亂碼解決
- HttpClient 解決中文亂碼HTTPclient
- MySQL解決中文亂碼MySql
- docker 容器指定utf-8編碼,解決中文亂碼Docker
- oracle 輸出中文亂碼問題解決方案Oracle
- Linux終端中文菱形亂碼解決方案Linux
- ajax呼叫,action返回的中文為亂碼的解決方案
- matplotlib 圖示 中文亂碼, 與 wordcloud 詞雲圖 中文亂碼 解決方法Cloud
- ORACLE亂碼解決方案Oracle
- Java亂碼解決方案Java
- request/response解決中文亂碼
- eclipse中文亂碼解決Eclipse
- myeclipse解決中文亂碼Eclipse
- 解決Linux中文亂碼Linux
- ROS中解決中文亂碼ROS
- 解決中文亂碼問題
- [原創]Gerrit中文亂碼問題解決方案分享
- JSP中文亂碼問題終極解決方案JS
- eclipse 中文亂碼問題解決方案彙總Eclipse
- Redis中文顯示為Unicode編碼 亂碼的解決辦法RedisUnicode
- js的url傳遞中文引數亂碼的解決方案JS
- MySQL字符集亂碼與解決方案MySql
- vim、gvim在windows下中文亂碼的終極解決方案Windows
- 中文字元亂碼的解決字元
- Datagrip連線SQLserver表中出現中文亂碼解決方案SQLServer
- JSP中文亂碼問題終極解決方案(上)JS
- SecureCRT 下MySQL中文亂碼問題終極解決方案SecurecrtMySql
- MySql中文亂碼問題解決MySql
- Jmeter 解決中文亂碼問題JMeter
- 解決 SecureCRT 和 SecureFX 中文亂碼Securecrt
- Java 解決中文亂碼問題Java
- RDSSQLSERVER解決中文亂碼問題SQLServer
- Windows下Clion中文亂碼解決Windows