We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
如果是win上msvc与qt的环境,msvc和qt会产生编码冲突,也就是msvc采用的编码不是utf8,如果在代码里面,检测到msvc与qt的时候可以加一个utf8的宏。
因为这种编码情况下会让很多字符无法以正常形式读取,比如注释会引发大量的报错。这种情况下,本机是gbk的情况下如果用utf8会无法加载出注释,也就是注释会乱码。如果用别的编码,那么vs工具链无法正常编译。 最关键的是,采用msvc的时候,我们的utf8不含Bom,他会以本地形式加载,会出现编译报错,解决之后呢,控制台调试输出的在某些情况仍有可能出现乱码问题。
这里给出大家一个解决方案,在qt代码里面使用宏来避免我们的编码被改成非utf8形式进行加载。
单文件形式,在每个文件头部添加 ~~ #if _MSC_VER >= 1600 #pragma execution_character_set("utf-8") #endif ~~
或者在可执行文件主函数文件定义 ~~ #include
extern QTextCodec *codec; #define TU codec->toUnicode
QTextCodec *codec = QTextCodec::codecForName("utf-8");
~~
这种情况下,我们可以实现三种情况同时满足
在qt的控件里面能正常显示文字
在你的代码编辑器里面能正常显示中文注释
在你的控制台里面可以正确调试打印正确编码字符。
这样的话,大家在自己的qt应用程序里面的时候就能正常嵌入这个分析器了,不需要用宽字符串之类的东西了
The text was updated successfully, but these errors were encountered:
#190 你是说这样吗?
Sorry, something went wrong.
No branches or pull requests
如果是win上msvc与qt的环境,msvc和qt会产生编码冲突,也就是msvc采用的编码不是utf8,如果在代码里面,检测到msvc与qt的时候可以加一个utf8的宏。
因为这种编码情况下会让很多字符无法以正常形式读取,比如注释会引发大量的报错。这种情况下,本机是gbk的情况下如果用utf8会无法加载出注释,也就是注释会乱码。如果用别的编码,那么vs工具链无法正常编译。
最关键的是,采用msvc的时候,我们的utf8不含Bom,他会以本地形式加载,会出现编译报错,解决之后呢,控制台调试输出的在某些情况仍有可能出现乱码问题。
这里给出大家一个解决方案,在qt代码里面使用宏来避免我们的编码被改成非utf8形式进行加载。
单文件形式,在每个文件头部添加
~~
#if _MSC_VER >= 1600
#pragma execution_character_set("utf-8")
#endif
~~
或者在可执行文件主函数文件定义
~~
#include
extern QTextCodec *codec;
#define TU codec->toUnicode
QTextCodec *codec = QTextCodec::codecForName("utf-8");
~~
这种情况下,我们可以实现三种情况同时满足
在qt的控件里面能正常显示文字
在你的代码编辑器里面能正常显示中文注释
在你的控制台里面可以正确调试打印正确编码字符。
这样的话,大家在自己的qt应用程序里面的时候就能正常嵌入这个分析器了,不需要用宽字符串之类的东西了
The text was updated successfully, but these errors were encountered: