精品日韩在线,日韩精品福利一区二区三区,日韩午夜黄色,国产日韩欧美高清免费

始創于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
您的位置: 網站首頁 > 幫助中心>文章內容

Linux與Windows下QT中使用MySQL中文亂碼解決方法

發布時間:  2012/8/21 16:51:57

Linux下

這種方法應該是最快捷解決中文亂碼的辦法了,不用改mysql的編碼,僅限于linux下使用:

1.在QT程序的main.cpp的main函數中QTextCodec```那三句:

1.int main(int argc, char *argv[])  
2.{  
3.    QApplication a(argc, argv);  
4.    QTextCodec *codec = QTextCodec::codecForName("UTF-8");   5.    QTextCodec::setCodecForCStrings(codec);  
6.    QTextCodec::setCodecForTr(codec);  
7.    MainWindow w;  
8.    w.show();  
9.    return a.exec();   10.} 
2.在你的程序代碼設置數據庫后添加一句:  db.exec("SET NAMES 'Latin1'"); //直接使用數據庫的latin1編碼

以上兩步就解決問題了。

Windows下

此方法修改后可以在QT中正常顯示中文,也可以通過QT往MYSQL中插入中文并在QT的控件上顯示出來。   但通過命令行查看表的內容時,中文直接顯示為?。 所以這個辦法做了之后就不能在命令行下查看mysql中文內容。

第一步把數據庫的編碼全部改了很重要!!

在Qt4中使用MySQL4.1及其以上版本中的中文問題解決方法

MySQL4.1及其以上版本中中文問題比較麻煩,有時候在QT中使用會出現問號或者亂碼,現在說明一下在Qt中如何正確地配合使用。

先在MySQL中建表,使用中文,一般情況下就兩種,GB(GB2312或者GBK)或者UTF8兩種。兩種的解決方法是相似的,這里我們以GBK為例說明。

一、數據庫和表以及表里的字符相關字段(varchar, char, text等)都要使用gbk_chinese_ci這種方式,不這樣做也可以,但這樣做,會省很多麻煩( 設置方法參考《MySQL統一編碼》:http://www.linuxidc.com/Linux/2011-05/35405.htm)。


二、重新編譯Qt的MySQL驅動,需要修改src/sql/drivers/mysql/qsql_mysql.cpp文件。
要修改的部分如下:第一百零八行的codec函數,注意紅色加粗部分,是我修改增加的語句。

Quote:

static QTextCodec* codec(MYSQL* mysql)
{
return QTextCodec::codecForName("GBK");
#if MYSQL_VERSION_ID >= 32321
QTextCodec* heuristicCodec = QTextCodec::codecForName(mysql_character_set_name(mysql));
if (heuristicCodec)
return heuristicCodec;
#endif
return QTextCodec::codecForLocale();
}

 

然后,重新編譯qt的mysql驅動,這里就不多說了,請查看Qt相關文檔
三、在Qt程序main函數中app后面開頭處加入下面兩句,加上這兩個是省得不必要的麻煩。

Quote:

QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("GBK"));
//QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));


四、在Qt數據庫連接后,運行SET NAMES 'GBK'語句(紅色部分)。

Quote:

db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("yourdatabase");
db.setUserName("yourusername");
db.setPassword("yourpassword");
db.open();
db.exec("SET NAMES 'GBK'");


OK, 走過上面四步以后,我們就可以在程序中正確使用查看MySQL中的中文數據了。
但是如果你要直接通過SQL語句修改數據,則需要正確的把輸入的內容轉變為GB碼中,
比如:

Quote:

QTextCodec *codec = QTextCodec::codecForName("GBK");
QString strOut = codec->fromUnicode(lineEdit->text()).data();
QString strSql = "UPDATE user SET uinfo = '" + strOut + "'";
db.exec(strSql);


這里需要注意的是,如果設置了codecForTr也為GBK的話,那就不用上面的手動轉換步驟了,即,如果在第三步中把第三行的注釋去掉,則上面的字符串格式轉換就不需要了。

這里面最關鍵的一點就是修改qsql_mysql.cpp文件,因為它不能正確的設置codec內碼。

如果數據庫中的編碼使用的是UTF8,則把上面相關的部分改為UTF-8(Qt)或者UTF8(MySQL)就行了。


本文出自:億恩科技【www.zuiquanben.com】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1-20183354
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 網絡版權侵權舉報電話:0371-60135995
  • 警情提示:注意防范電信網絡詐騙
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2026 ENKJ All Rights Reserved 地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師  B1-20183354   京公網安備41019702002023號 
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線

     
     
    精品日韩在线,日韩精品福利一区二区三区,日韩午夜黄色,国产日韩欧美高清免费
    国产伦精品一区二区三区在线播放| 麻豆成人av在线| 欧美在线不卡| 婷婷综合福利| 婷婷综合一区| 日韩av黄色在线| 9国产精品视频| 午夜精品亚洲| 西西人体一区二区| 免费日韩av片| 亚洲香蕉视频| 亚洲日本欧美| 日韩av黄色在线| 91成人在线| 国产亚洲人成a在线v网站 | 国产精品成人一区二区不卡| 精品国产亚洲一区二区三区大结局| 久久精品伊人| 日韩1区2区| 99成人超碰| 亚洲国产专区| 在线观看免费一区二区| 久久国产精品亚洲77777| 红桃视频亚洲| 99精品电影| 91精品高清| 亚洲免费网址| 99成人在线| 日韩精品成人在线观看| 国产精品欧美大片| 久久久久亚洲精品中文字幕| 亚洲性色av| а√天堂中文在线资源8| 麻豆91精品视频| 国产粉嫩在线观看| 成人亚洲精品| 九一国产精品| 亚洲精品小说| 日本久久一区| 欧美日韩a区| 精品国产不卡一区二区| 日韩1区2区| 91看片一区| 在线视频亚洲| 免费在线欧美视频| 国产精品久久久久9999高清| 精品国产成人| 99在线|亚洲一区二区| 免费成人性网站| 国产精品午夜一区二区三区| 国产精区一区二区| 久久久久久亚洲精品美女| 韩日一区二区三区| 久久国产精品久久w女人spa| 国产精品成人国产| 国产成人精品一区二区三区视频 | 日本亚洲视频在线| 麻豆精品在线观看| 久久精品色播| av成人国产| 婷婷综合成人| 天堂av在线| 精品91久久久久| 国产日本精品| 日韩国产网站| 日韩制服丝袜av| 久久亚洲资源中文字| 久久免费高清| 国产美女久久| zzzwww在线看片免费| 综合日韩在线| 精品中文字幕一区二区三区 | 99久久久国产精品美女| 国产亚洲高清视频| 日韩.com| 亚洲欧美日本国产| 美女福利一区二区三区| 黄色国产精品| 精品国产乱码久久久久久樱花| 久久一级电影| 国产精品久久久久久久久久白浆 | 欧美日一区二区在线观看| 蜜桃精品在线| 日韩高清电影免费| 亚洲精品网址| 欧美成人aaa| 综合亚洲视频| 国产福利片在线观看| 欧美日韩国产高清电影| 久久精品亚洲一区二区| 欧美精品一区二区久久| 国产精品99一区二区三区| 亚洲在线一区| 成人美女视频| 四虎在线精品| 日韩欧美精品一区| 国产乱人伦精品一区| 影音先锋国产精品| 国产精品伦理久久久久久| 亚洲一区二区三区四区电影| 日韩1区在线| 日韩中文字幕在线一区| 亚洲精品一区三区三区在线观看| 国产视频网站一区二区三区| 99久久久久久中文字幕一区| 开心激情综合| 亚洲久久在线| 亚洲一区二区毛片| 国产69精品久久| 国产精品普通话对白| 日韩欧美三级| 国产精品天天看天天狠| 日韩综合一区二区| 免费不卡中文字幕在线| 日本精品不卡| 国产精品v一区二区三区| 日韩av电影一区| 亚洲中午字幕| 91精品亚洲| 成人精品国产亚洲| 久久亚洲国产精品尤物| 婷婷亚洲成人| 日韩精品免费观看视频| 国产精品三上| 日韩中文字幕一区二区三区| 亚洲www免费| 97在线精品| 麻豆精品久久| 成人在线视频免费看| 国产精品网址| 亚洲精品第一| 99国产一区| 国产亚洲综合精品| 日本美女一区| 91视频一区| 麻豆高清免费国产一区| 日韩综合小视频| 蜜臀av一区二区三区| 蜜臀av免费一区二区三区| 天堂8中文在线最新版在线| 日韩精品永久网址| 国产一区二区色噜噜| 国产成人77亚洲精品www| 乱一区二区av| 亚洲午夜天堂| 高清精品久久| 日韩伦理福利| 国产福利电影在线播放| 亚洲最新无码中文字幕久久| 精品视频自拍| 精品三级久久| 久久久亚洲一区| 性欧美xxxx免费岛国不卡电影| 日本午夜精品一区二区三区电影| 日韩欧美久久| 你懂的亚洲视频| 麻豆精品视频在线观看免费| 精品久久网站| 国产理论在线| 伊人精品视频| 亚洲综合精品四区| 99精品99| 免费成人av在线播放| 亚洲一区网站| 免费美女久久99| 亚洲免费资源| 日韩精品免费视频人成| 欧美亚洲国产日韩| 911精品国产| 国产精品久久观看| 超碰成人av| 石原莉奈在线亚洲二区| 日本一区免费网站| 日韩精品a在线观看91| 青青伊人久久| 黄色在线网站噜噜噜| 三级小说欧洲区亚洲区| 久久午夜影视| 日韩三区四区| 国产精品不卡| 尤物tv在线精品| 日韩精品导航| 老司机精品视频在线播放| 99久久夜色精品国产亚洲狼 | 综合国产精品| 国产精品男女| 久久久久久久欧美精品| 视频一区中文| 亚洲乱亚洲高清| 久久久久亚洲精品中文字幕| 91看片一区| 日本免费在线视频不卡一不卡二| 国产精品九九| 一区免费视频| 日韩影片在线观看| 天堂√中文最新版在线| 一本一道久久a久久精品蜜桃| 久久激情五月婷婷| 国际精品欧美精品| 蜜桃视频在线网站|