QT5.2中文乱码解决问题
总结: 之前Qt4写的代码用QTextCodec::codecForTr()来解决中文输入问题,为了防止错误的滥用,在Qt5中已经取消了这个方法。 Qt5VS2010 中文乱码问题的解决:【请记住VS2010必须打普定vs2010sp1,下面代码才有效】 #if _MSC_VER = 1600 #pragma execution_cha
总结:之前Qt4写的代码用QTextCodec::codecForTr()来解决中文输入问题,为了防止错误的滥用,在Qt5中已经取消了这个方法。
Qt5+VS2010中文乱码问题的解决:【请记住VS2010必须打普定vs2010sp1,下面代码才有效】
<p><span><span>#if _MSC_VER >= 1600</span> <span>#pragma</span><span> execution_character_set</span><span>(</span><span>"utf-8"</span><span>)</span> <span>#endif</span></span></p>
Qt+Visualstudio的中文乱码总结:
1、Qt4.7+VS2008,通过如下方法:
-
#include
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
- // 以下部分解决中文乱码
- QTextCodec *codec = QTextCodec::codecForName("GBK");
- QTextCodec::setCodecForTr(codec);
- QTextCodec::setCodecForLocale(codec);
-
QTextCodec::setCodecForCStrings(codec);
}
2、Qt5.2+VS2010打入补丁VS2010sp1,也会支持 #pragma execution_character_set ("utf-8"),顺利解决qt中文乱码问题
在main函数之前加入:
- #if _MSC_VER >= 1600
- #pragma execution_character_set("utf-8")
- #endif
3、Qt5.2+ VS2012 不支持 #pragma execution_character_set ("utf-8") 导致utf-8编码的无法直接输出中文,qt首当其冲受害。 微软官方回应,再下一个版本中会修正这个问题:
由 Microsoft 在 2013/1/3 於 10:24 公佈
Hi Seek:
Thanks for reporting the issue.
A fix for this issue has been checked into the compiler sources. The fix should show up in the next release of Visual C++.
Xiang Fan
Visual C++ Team
4、Qt5.2+VS2013支持 #pragma execution_character_set ("utf-8"),所以qt也赶紧发布了一个
Visual Studio Add-in 1.2.3 Alpha for Qt5 (supports versions 2008, 2010, 2012 and 2013, ess edition)
在main函数之前加入:
- #if _MSC_VER >= 1600
- #pragma execution_character_set("utf-8")
- #endif
5、回到 Qt5 的中文输出问题。
Qt默认支持 VS2010/MinGW/Gcc 等编译器,而它们现在都已经真正支持UTF8了。当然,VS2010 对UTF8的支持会入侵代码(#pragma execution_character_set("utf-8"))。 看看Qt官方论坛别人是怎么说的:
http://qt-project.org/forums/viewthread/17617
Nothing special need to do, it will works by default.
If the exec-charset of your your compiler is UTF-8.
简单的说,从Qt5开始,源代码就是默认UTF8编码的。
当然,VC2010编辑器对带BOM的UTF8也是认识,只可惜VC2010编译器根本承认它是UTF8!
在继续看官方论坛的回复:
You can write a simple example like this
- You can write a simple example like this
-
#include
-
#include
- #if _MSC_VER >= 1600
- #pragma execution_character_set("utf-8")
- #endif
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
- QLabel label("???ó??ń??");
- label.show();
- return a.exec();
- }
- If other people can reproduce your problem, you can file a bug.
If other people can reproduce your problem, you can file a bug.
较完整的解决方案(增加了Qt4/Qt5和非VC环境的判断):
- // Coding: UTF-8(BOM)
- #if defined(_MSC_VER) && (_MSC_VER >= 1600)
- # pragma execution_character_set("utf-8")
- #endif
-
#include
-
#include
-
#include
- int main(int argc, char* argv[])
- {
- QApplication app(argc, argv);
- #if QT_VERSION
- #if defined(_MSC_VER) && (_MSC_VER
- QTextCodec::setCodecForTr(QTextCodec::codecForName("GB18030-0"));
- #else
- QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
- #endif
- #endif
- QLabel *label = new QLabel(QObject::tr("你好!"));
- label->show();
- return app.exec();
- }
另外:Qt4/Qt5/Linux: 只要是默认的UTF8环境, 应该都没问题
其实这个问题不是Qt特有的, 追根溯源还是C/C++和编译器的问题.即使是支持UTF16的Java也同样难逃此问题。

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Call of Duty Warzone ialah permainan mudah alih yang baru dilancarkan Ramai pemain sangat ingin tahu tentang cara menetapkan bahasa permainan ini kepada bahasa Cina Malah, ia adalah sangat mudah ubah suai selepas menggunakannya. Kandungan terperinci boleh dipelajari dalam pengenalan kaedah tetapan bahasa Cina ini. Mari kita lihat bersama. Cara menetapkan bahasa Cina untuk permainan mudah alih Call of Duty: Warzone 1. Mula-mula masukkan permainan dan klik ikon tetapan di penjuru kanan sebelah atas antara muka. 2. Dalam bar menu yang muncul, cari pilihan [Muat Turun] dan klik padanya. 3. Pilih [SIMPLIFIEDCHINESE] (Simplified Chinese) pada halaman ini untuk memuat turun pakej pemasangan Chinese Simplified. 4. Kembali ke tetapan

Hamparan Excel adalah salah satu perisian pejabat yang ramai orang gunakan sekarang, kerana komputer mereka adalah sistem Win11, jadi antara muka bahasa Inggeris dipaparkan itu. Untuk menyelesaikan masalah ini, isu ini Editor berada di sini untuk menjawab soalan untuk semua pengguna Mari lihat kandungan yang dikongsi dalam tutorial perisian hari ini. Tutorial untuk menukar Excel kepada bahasa Cina: 1. Masukkan perisian dan klik pilihan "Fail" di sebelah kiri bar alat di bahagian atas halaman. 2. Pilih "pilihan" daripada pilihan yang diberikan di bawah. 3. Selepas memasuki antara muka baharu, klik pilihan "bahasa" di sebelah kiri

Bagaimana untuk memaparkan aksara Cina dengan betul dalam PHPDompdf Apabila menggunakan PHPDompdf untuk menjana fail PDF, adalah cabaran biasa untuk menghadapi masalah aksara Cina yang kacau-bilau. Ini kerana pustaka fon yang digunakan oleh Dompdf secara lalai tidak mengandungi set aksara Cina. Untuk memaparkan aksara Cina dengan betul, kita perlu menetapkan fon Dompdf secara manual dan pastikan untuk memilih fon yang menyokong aksara Cina. Berikut ialah beberapa langkah dan contoh kod khusus untuk menyelesaikan masalah ini: Langkah 1: Muat turun fail fon Cina Pertama, kita perlukan

"WWE2K24" ialah permainan sukan lumba yang dicipta oleh Visual Concepts dan dikeluarkan secara rasmi pada 9 Mac 2024. Permainan ini sangat dipuji, dan ramai pemain sangat berminat sama ada ia akan mempunyai versi Cina. Malangnya, setakat ini, "WWE2K24" masih belum melancarkan versi bahasa Cina. Adakah wwe2k24 dalam bahasa Cina Jawapan: Bahasa Cina tidak disokong pada masa ini. Versi standard WWE2K24 di rantau Steam China berharga 199 yuan, versi deluxe ialah 329 yuan, dan edisi peringatan ialah 395 yuan. Permainan ini mempunyai keperluan konfigurasi yang agak tinggi, dan terdapat piawaian tertentu dari segi pemproses, kad grafik atau memori berjalan. Konfigurasi yang disyorkan rasmi dan pengenalan konfigurasi minimum:

Persediaan VSCode dalam Bahasa Cina: Panduan Lengkap Dalam pembangunan perisian, Visual Studio Code (VSCode ringkasnya) ialah persekitaran pembangunan bersepadu yang biasa digunakan. Bagi pembangun yang menggunakan bahasa Cina, menetapkan VSCode kepada antara muka Cina boleh meningkatkan kecekapan kerja. Artikel ini akan memberi anda panduan lengkap, memperincikan cara menetapkan VSCode kepada antara muka Cina dan menyediakan contoh kod khusus. Langkah 1: Muat turun dan pasang pek bahasa Selepas membuka VSCode, klik di sebelah kiri

Tajuk: Cara berkesan untuk membaiki aksara Cina yang kacau dalam PHPDompdf Apabila menggunakan PHPDompdf untuk menjana dokumen PDF, aksara Cina yang kacau adalah masalah biasa. Masalah ini biasanya berpunca daripada fakta bahawa Dompdf tidak menyokong set aksara Cina secara lalai, menyebabkan kandungan Cina tidak dipaparkan dengan betul. Untuk menyelesaikan masalah ini, kita perlu mengambil beberapa cara yang berkesan untuk menyelesaikan masalah PHPDompdf Cina yang kacau. 1. Gunakan fail fon tersuai Cara yang berkesan untuk menyelesaikan masalah aksara Cina yang kacau dalam Dompdf adalah dengan menggunakan

Tajuk: Kaedah dan contoh kod untuk menyelesaikan masalah aksara bercelaru apabila mengimport data Cina ke dalam Oracle Apabila mengimport data Cina ke pangkalan data Oracle, aksara bercelaru sering muncul Ini mungkin disebabkan oleh tetapan set aksara pangkalan data atau masalah penukaran pengekodan semasa import proses. . Untuk menyelesaikan masalah ini, kami boleh mengambil beberapa kaedah untuk memastikan data Cina yang diimport dapat dipaparkan dengan betul. Berikut ialah beberapa penyelesaian dan contoh kod khusus: 1. Semak tetapan set aksara pangkalan data Dalam pangkalan data Oracle, tetapan set aksara adalah

Perisian pelayar Quark menyediakan maklumat sumber yang tidak terkira banyaknya, dan hasil carian adalah yang paling tepat Ia mempunyai enjin carian terbina dalam yang berkuasa Anda boleh mencari jawapan yang sepadan dengan memasukkan kata kunci. Bahagian semak imbas dalam medan yang berbeza terbuka Anda boleh mencari apa sahaja yang anda cari dan lihat dengan serta-merta Semua pop timbul pengiklanan yang menjengkelkan disekat dengan bebas di antara mod pelayaran yang berbeza tiada lag sama sekali dalam proses, dan sudah tentu fungsi terjemahan boleh dihidupkan Bahasa mana-mana negara boleh diterjemahkan dengan mudah, dan tidak ada masalah dalam komunikasi Fail dan dokumen yang serasi dengan pelbagai format boleh dibuka dan dilihat. Kini editor menyemak imbas untuk Quark dalam talian secara terperinci Pengguna pelayan membawa kaedah menetapkan terjemahan bahasa Cina. 1. Mula-mula klik pada desktop telefon bimbit
