如何在VC中查询中文,及QT5的中文处理
1,VC中查询所有含中文字符串
使用正则表达式,查询内容为:
(".*[\u4E00-\u9FA5]+)|([\u4E00-\u9FA5]+.*")
这样,就可以把代码中的中文都查询出来.对处理QT5中的中文问题,很有帮助.
2,VC环境下,QT5中文的处理
VC环境下,提供两种编码文式,UNICODE,和多字节字符集,而QT5中使用的字符集为UTF-8,要正确处理QT5中的中文情况,要注意以下几点:
A,QT5内部都是UTF-8编码在处理,不需要转换了,一个典型的问题,就是中文目录的问题,所有通过QT5获取的中文目录本身就是UTF-8格式,系统可以识别,不需要像QT4那样,需要转换成本地编码方式.静态字符串目录的转换,与QT5中文字符串的处理一样.
B,VC下静态字符串如果含有中文的话,如果是多字节字符集,本人测试以下三种情况有效:
QString str=QStringLiteral("测试");
QString str=QString().fromLocal8Bit("测试");
QString str=QString().fromUtf16(L"测试");
C,QT5与其他非QT5库的字符串转换
QString转char*:QString().toLocal8Bit();
QString转wchar*:QString().toUtf16();
如果不进行这样的转换,在非QT5库中得到的,就是乱码.
以上,QT5所遵循的原则就是,进入QT5的字符串,无论是哪种编码方式,都得转成UTF-8(QT5默认),从QT5出来的字符串,需要根据情况来处理.
本人测试了把C++代码文件转成UTF-8编码格式,希望统一QT5的编码处理,就像平时一样,不需要转换,但是没有成功,可能是我的测试方法不正确,也可能是VC自己的原因.
在网上查资料,QtCreater中,把C++代码文件的编码方式改成UTF-8,就没有编码转换的问题.本人没有测试过,因为对些不熟悉,一直用VC.
如果这种方式是正确的,那可能就与VC的编码处理方式有关吧.
如何在VC中查询中文,及QT5的中文处理的更多相关文章
- 如何在MySQL中查询每个分组的前几名【转】
问题 在工作中常会遇到将数据分组排序的问题,如在考试成绩中,找出每个班级的前五名等. 在orcale等数据库中可以使用partition语句来解决,但在mysql中就比较麻烦了.这次翻译的文章就是专门 ...
- 如何在VC++ 中调试MEX文件
MEX文件对应的是将C/C++文件语言的编写之后 得到的相关文件加载到Matlab中运行的一种方式, 现对于Matlab 中的某些程序运行效率而言, C/C++ 代码某些算法的领域上面执行效率很高,若 ...
- 如何在mysql中查询每个分组的前几名
问题 在工作中常会遇到将数据分组排序的问题,如在考试成绩中,找出每个班级的前五名等. 在orcale等数据库中可以使用partition 语句来解决,但在MySQL中就比较麻烦了.这次翻译的文章就是 ...
- 如何在ORACLE中查询某一用户下所有的空表
先分析表 select 'analyze table '||table_name||' compute statistics;' from user_tables; 把查询结果依次执行 把所有表分析一 ...
- 如何在Oracle中 查询一个表被其他数据库对象引用[z]
这两天老大让我再oracle中把要替换的表被其他对象引用之处找出来,整理一份表,接到这个任务,我是一脸懵逼,怎么找?大海捞针么?问同事.查资料,自己研究,最后整理一下仅供大家参考,同时以备将来回顾.本 ...
- 如何在MySQL中查询当前数据上一条和下一条的记录
如果ID是主键或者有索引,可以直接查找: 方法一: 查询上一条记录的SQL语句(如果有其他的查询条件记得加上other_conditions以免出现不必要的错误): select * from tab ...
- 如何在Windows中查询证书颁发机构已颁发的证书
有时候需要看一下证书颁发机构已经颁发出去的证书,看看某个用户或者某个计算机获取过的证书有哪些.通常可以在证书颁发机构的MMC中查看.对于测试环境或者刚开始用的CA来说,这样查看挺简单的.但是对于用了一 ...
- 如何在VC中显示透明背景位图
简单的调用系统API. Windows NT/2000/XP: Included in Windows 2000 and later.Windows 95/98/Me: Included in Win ...
- VC++中全局变量的问题(转)
全局变量一般这样定义:1.在一类的.cpp中定义 int myInt;然后再在要用到的地方的.cpp里extern int myInt:这样就可以用了. 2.在stdafx.cpp中加入:int my ...
随机推荐
- HDU 1150 Machine Schedule (最小覆盖,匈牙利算法)
题意: 有两台不同机器A和B,他们分别拥有各种运行模式1~n和1~m.现有一些job,需要在某模式下才能完成,job1在A和B上需要的工作模式又可能会不一样.两台机器一开始处于0模式,可以切换模式,但 ...
- exec、eval
#!/usr/bin/env python3 # -*- coding: utf-8 -*- #info #warning def log(message): print('------------- ...
- mysql5.6子查询的优化
https://dev.mysql.com/doc/refman/5.6/en/subquery-optimization.html Semi-join in MySQL 5.6 MySQL 5. ...
- POJ 1083 Moving Tables
题意:一个建筑物里有400个房间,房间都在一层里,在一个走廊的两侧,如图,现在要搬n张桌子,告诉你每张桌子是从哪个屋搬到哪个屋,搬桌子的线路之间不可以有重叠,问最少搬几次. 解法:贪心.一开始觉得只要 ...
- hdu 1198 Farm Irrigation
令人蛋疼的并查集…… 我居然做了大量的枚举,居然过了,我越来越佩服自己了 这个题有些像一个叫做“水管工”的游戏.给你一个m*n的图,每个单位可以有11种选择,然后相邻两个图只有都和对方连接,才判断他们 ...
- 分布式发布订阅消息系统 Kafka 架构设计
我们为什么要搭建该系统 Kafka是一个分布式.分区的.多副本的.多订阅者的“提交”日志系统. 我们构建这个系统是因为我们认为,一个实现完好的操作日志系统是一个最基本的基础设施,它可以替代一些系统来作 ...
- asp调用.net xml web services
来源:http://www.cnblogs.com/notus/archive/2006/08/10/473000.html#2662503 (是不是实际上可以用这个办法调用任何xml web ser ...
- HDU 5778 abs (BestCoder Round #85 C)素数筛+暴力
分析:y是一个无平方因子数的平方,所以可以从sqrt(x)向上向下枚举找到第一个无平方因子比较大小 大家可能觉得这样找过去暴力,但实际上无平方因子的分布式非常密集的,相关题目,可以参考 CDOJ:无平 ...
- Selenium - IDE模式匹配
Selenium - IDE模式匹配 在Selenium IDE中,如定位器,模式是selenium中经常使用的一种类型的参数.它允许用户描述特殊字符的模式.很多时候,我们想核实文字是动态的,在这种情 ...
- Chrome的网络调试
F12 然后