亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1340 | 回復(fù): 0
打印 上一主題 下一主題

MYSQL 字符編碼總結(jié) 轉(zhuǎn)自網(wǎng)上 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2009-11-18 13:31 |只看該作者 |倒序?yàn)g覽
今天操作服務(wù)器數(shù)據(jù)庫時(shí)遇到了Mysql中文字符亂碼的問題,主要原因是因?yàn)榘惭b的時(shí)候沒有設(shè)置好字符集。
于是很是郁悶,因?yàn)閹炖镉泻芏嘀匾獢?shù)據(jù),所以重裝是不可能了,于是決定找找在不重裝且不改代碼的前提下,能搞好的解決方案。
于是看了很多這方面的文章,最終得以解決:以下是解決方案。 mysql亂碼處理總結(jié):
(1)java中處理中文字符正常,在cmd client中顯示亂碼是字符集的問題.
(2)字段長度設(shè)置夠長,但插入中文字符時(shí)提示com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column錯誤是字符集的問題.
(3)亂碼問題歸根到底是字符集的問題,那就從字符集設(shè)置方面考慮,不外乎下面幾個方面:server,client,database,connection,results.  -------------------------解決辦法----------------------
(1) 修改 my.ini(MySQL Server Instance Configuration 文件)
          # CLIENT SECTION  [client]  port=3306  [mysql]  default-character-set=gbk
         # SERVER SECTION  [mysqld]  default-character-set=gbk
(2) 修改data目錄中相應(yīng)數(shù)據(jù)庫目錄下的db.opt配置文件
default-character-set=gbk default-collation=gbk_chinese_ci
(3)數(shù)據(jù)庫連接串中指定字符集
URL=jdbc:mysql://yourIP/college?user=root&password=yourPassword&useUnicode=true&characterEncoding=gbk
注:在mysql4.1.0版 要加useUnicode=true&characterEncoding=gbk 如果是5.0版以上的,加不加都是沒有關(guān)系的!
(4)在創(chuàng)建數(shù)據(jù)庫時(shí)指定字符集  create database yourDB CHARACTER SET gbk;
(5)在dos命令上要設(shè)置 set names gbk        好了,經(jīng)過檢查上面四個方面的設(shè)置,應(yīng)該 OK 了!不會出現(xiàn)諸如 com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column等問題.
Mysql中文亂碼解決 原來常常在群里看到mysql的亂碼問題,但是由于本人一直在用oracle和sql server所以沒多在乎,昨天用了用mysql結(jié)果就遇到了傳說中的亂碼…..。
現(xiàn)在我們來講講mysql的亂碼問題。首先你進(jìn)入的你mysql 用show variables查看  這里可以查看到你的字符
集,character_set_server是服務(wù)器編碼。現(xiàn)在我們默認(rèn)的是latin1要改變服務(wù)器的編碼必須重新啟動服務(wù)器,我們先用
mysqladmin -uroot shutdown關(guān)閉服務(wù)器,然后mysqld -C GBK啟動服務(wù)器
-C是character_set_server的一個簡寫
(可以也可以寫成mysqld -character_set_server gbk).這樣修改以后我們再進(jìn)入mysql查看就會顯示:  這樣我們就把服務(wù)器和數(shù)據(jù)庫的編碼改為了
GBK。 現(xiàn)在我們就可以插入中文字符串了,但是為什么有時(shí)間還是會顯示 Exception in thread "main" com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'name' at row 1 這
是因?yàn)槟阒皇切薷牧薽ysql的服務(wù)器的字符編碼,并沒有修改已經(jīng)有數(shù)據(jù)庫的編碼,這時(shí)候你需要手動的把data目錄下的數(shù)據(jù)庫中的
db.opt中的編碼改為 default-character-set=gbk default-collation=gbk_chinese_ci 這樣修改以后你在重啟服務(wù)器就可以插入中文
了。 但是這時(shí)候還有個問題就是在你應(yīng)用程序當(dāng)中顯示的是中文字符,但是在命令窗口還是亂碼。 這時(shí)候你注意我們上面圖中的
character_set_client字符還是latin1當(dāng)然顯示的是亂碼咯喲。所以你進(jìn)入mysql客戶端程序的時(shí)候因該把客戶端默認(rèn)的編碼改為gbk才能
顯示正常。 你可以在mysql里修改,也可以在登陸的時(shí)候
mysql -uroot -default-character-set=gbk修改 如此以來就解決了中文問題
了。 我剛開始的時(shí)候在程序中加入了一個characterEncoding變量(下圖),但是想來想去都覺得這個變量沒什么用,所以后來去掉也能
顯示正常。 jdbc:mysql://127.0.0.1:3306/ee?characterEncoding=gbk"  總結(jié)下mysql的亂碼問題最好還是設(shè)置數(shù)據(jù)庫的時(shí)候就把
服務(wù)器編碼和數(shù)據(jù)庫編碼都設(shè)置長gbk,還有就是注意查看系統(tǒng)變量。
               
               
               
               

本文來自ChinaUnix博客,如果查看原文請點(diǎn):http://blog.chinaunix.net/u3/104127/showart_2097500.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP