1. 程式人生 > >Qt5中文亂碼問題解決方案

Qt5中文亂碼問題解決方案

個人感覺每個人的亂碼解決情況不一樣,本人亂碼時也在網上查詢了很多種方法,但是都無濟於事。
個人情況:要在Qt的UI介面中的tableView中顯示從資料庫查詢到的資訊
本人使用的是QT5.8.0,連線MySQL資料庫,主要有兩點:
1、將要插入的文字(注意是插入時)從QString換成QByteArray。
eg:
這裡寫圖片描述

2、在資料庫連線時加上兩句話:

QTextCodec *codec = QTextCodec::codecForName("UTF-8");
QTextCodec::setCodecForLocale(codec);                 

這裡寫圖片描述
如果不放心,還可以加一句:db.exec(“set NAMES UTF8”);
注意:一定要在資料庫open之前加,若加在後面還是會亂碼,親測是這樣

另外,如果在MySQL命令列查詢是亂碼,可以找到MySQL的安裝目錄,找到my.ini檔案,用Notepad++開,然後修改兩個地方:
這裡寫圖片描述
將預設的utf8改為gbk,即可解決命令列亂碼問題

/*******************************************
另一種行之有效的方法
********************************************/

QTextCodec *codec = QTextCodec::codecForName("System");    //獲取系統編碼
QTextCodec::setCodecForLocale(codec);
QTextCodec::setCodecForCStrings(codec);
QTextCodec::setCodecForTr(codec);

相關推薦

qt5.5 讀寫檔案的中文亂碼解決方案

#include<QString> #include<QSetting> QString localToGBK(QString src) { QString source = src; int len = source.length(); if

ubuntu MySQL數據庫輸入中文亂碼 解決方案

title str itl alt 查詢 ref cte class nbsp 一、登錄MySQL查看用SHOW VARIABLES LIKE ‘character%’;下字符集,顯示如下:+--------------------------+--------------

oracle服務端與客戶端字符集不同導致中文亂碼解決方案

use 修改環境變量 描述 image nls_lang oracle服務 環境 分析 導致 1.問題描述 用pl/sql登錄時,會提示“數據庫字符集(ZHS16GBK)和客戶端字符集(2%)是不同的,字符集轉化可能會造成不可預期的後果”,具體問題是中文亂碼,如下圖 2.

MySQL數據庫中的中文亂碼解決方案

中文亂碼 數據庫MySQL 數據庫中輸入中文容易出現亂碼?(亂碼問題本源:參見http://blog.51cto.com/12042068/2115021)解決方法:1.在建表建庫的時候就指定默認編碼 utf8. CREATE TABLE table_name (

LoadRunner接口HTTP請求中中文亂碼解決方案

空格 con value 發送 nbsp toe string ner 字符串 今天項目經理要求壓一下實時代扣接口性能。那就開始寫腳本,腳本寫好調試發現接口請求參數姓名輸入中文亂碼。接著就網上找資料解決該問題。 1:想法:將中文轉成UTF-8,lr_convert_stri

Eclipse中文亂碼解決方案

work cli 解決 ner update source 編碼問題 odin tex Eclipse中文亂碼解決方案 第一個設置:window>perferences>general>workspace>text file encoding

Qt5中文亂碼解決方法

Qt中的中文顯示,經常會出現亂碼,但在UI設計介面上新增的中文是不會出現亂碼的,如果你剛使用QT,那麼你肯定會碰到這個問題。 網上搜索一下,找到的都是這種: #include < QTextCodec > int main(int argc, char **argv) { .

記一次SSH中文亂碼解決方案

前言:專案中有中文亂碼是因為亂碼編碼產生。 近期在用SSH寫OA系統的時候遇到中文亂碼問題,解決之餘寫下一丟丟心得,每天進步一小步,又與大神靠近一大步嘛!^_^! SSH是否還有公司在使用,SSH還配不醅稱為三大框架這裡先按下不表,這裡只是給出某次博主遇到問題的解決方案。 1

sublime中文亂碼解決方案

最近使用的sublime 編輯器出現了開啟寫好的程式,中文顯示的確是方框,方框裡面是問號,就是不顯示中文。  然後再網上查找了一下,大概都是說是需要中文編碼外掛,比如converttoutf8 gbk等編碼外掛來處理。 不過我發現導致這個問題的不是編碼錯誤,編碼是沒有問題的,都是utf8

Spring Cloud Zuul addZuulRequestHeader 中文亂碼解決方案

在Spring Cloud Zuul中新增filter的時候,要在header中加入含有中文屬性的物件,在另外一個微服務中接受的時候,發現中文亂碼,具體解決方案,是先用URLEncoder編碼,然後微服務的接受的時候再解碼  Spring Cloud Zuul: RequestCont

idea ssm專案出現日誌中文亂碼,封裝的json中的msg欄位中文亂碼(但是json封裝的bean中的欄位不亂碼)等其他各種專案下的中文亂碼解決方案

   開頭劃重點!(敲黑板):rebuild和mvn package的迴圈往復好幾次的操作是解決這個問題的最主要的方法! 經過多次試驗,發現這樣做就可以正常顯示中文了 我說為什麼有時候亂碼,有時候中文正常,原來下面的這些地方都必須設定好,特別是 rebuild和m

idea ssm項目出現日誌中文亂碼,封裝的json中的msg字段中文亂碼(但是json封裝的bean中的字段不亂碼)等其他各種項目下的中文亂碼解決方案

exp model static supported 文件的 support ppi enc pat 開頭劃重點!(敲黑板):rebuild和mvn package的循環往復好幾次的操作是解決這個問題的最主要的方法! 經過多次試驗,發現這樣做就可以正常顯示中文了

jsp中文亂碼解決方案

在介紹方法之前我們首先應該清楚具體的問題有哪些,筆者在本部落格當中論述的JSP中文亂碼問題有如下幾個方面:頁面亂碼、引數亂碼、表單亂碼、原始檔亂碼。下面來逐一解決其中的亂碼問題。 一、JSP頁面中文亂碼 在JSP頁面中,中文顯示亂碼有兩種情況:一種是HTML中的中文亂碼,另一種是在JSP中動

emacs 在shell下中文亂碼解決方案

  ;;;; 設定編輯環境 ;; 設定為中文簡體語言環境 (set-language-environment 'Chinese-GB) ;; 設定emacs 使用 utf-8 (setq locale-coding-system 'utf-8) ;; 設定鍵盤輸入時的字元編碼 (set

@ResponseBody跨系統請求中文亂碼解決方案

一.原因 spring mvc的一個bug,spring MVC有一系列HttpMessageConverter去處理用@ResponseBody註解的返回值,如返回list則使用MappingJacksonHttpMessageConverter,返回string,則使用StringHttpM

Ubuntu 13.04 mysql 5.5 中文亂碼解決方案

首先是安裝MySql ,安裝命令:sudoapt-get install mysql-server 通過這個命令安裝的Mysql的版本是5.5的,在5.5中與前面版本中有一點小差別。 在使用MySql中的時候,遇到了一點小的問題,用JDBC連線,使用中文,用UTF8還是會有亂碼,

【cmd】批處理:bat檔案執行,cmd會顯示中文亂碼,Jenkins日誌顯示中文亂碼——解決方案

目錄 一、批處理命令執行亂碼情況 二、解決方法 一、批處理命令執行亂碼情況 (1)Jenkins批處理命令亂碼: (2)cmd視窗顯示亂碼: 二、解決方法 (1)【最關鍵的步驟!】bat檔案編碼格式修改為ANSI格式: (

Flask 框架中文亂碼解決方案

flask 進行 -c 屬性 中文 兩種 round 直接 運行 初次安裝Flask框架後如果不進行配置會在運行結果中的中文會產生亂碼: 以下推薦四種方法解決亂碼問題: (一):創建一個配置類解決中文亂碼。 (二):正常代碼顯示中文。 接下下來兩種方法需要新建文件進

IDEA開發Struts2和Tomcat中文亂碼解決方案

idea struts2中文亂碼。idea tomcat中文亂碼。 1.很可能是寫有中文的Java檔案編碼和前端不一樣導致。 統一為UTF-8編碼: jsp檔案 <%@ page contentType="text/html;charset=UTF-8" pag

java 頁面傳輸中文亂碼解決方案

post 中文亂碼解決方式 接受資料的時候設定 request.setCharacterEncoding("utf-8");//編碼必須和頁面編碼一致 頁面設定 <%@page import="java.net.URLDecoder"%> <%@page