Qt 使用glog时中文乱码问题

使用谷歌的glog有时候会遇到一些中文乱码问题,原因其实归结为以下几种:
1、中文字符串C++ string类型与QString类型的转换问题。
这个问题可以通过:toStdString()这个函数来进行转换:
例如

stirng str1;
QString str2 = str1.toStdString();
2、字符编码问题,比如之前是GB2312或者GBK编码,可以通过,.fromUtf8()。
3、如果字符串类型之前为char类型,可通过.c_str()来转换。
4、如果打印字符串为字符数组,可以通过.toLocal8Bit().data()来转换。例如:

QString str_error;
LOG(ERROR) <<str_error.toLocal8Bit().data();


中文字符串问题就是类型转换问题,遇到一个一个试试就试出来了。
注意:Qt 默认UTF-8编码,遇到中文乱码可使用:

#if _MSC_VER >= 1600
#pragma execution_character_set(“utf-8”)
#endif

但是这个宏不能与 QString::fromLocal8Bit(“中文字符串”), 同时存在,如果同时使用这两种方法,则还是会有乱码。

还有一些是因为显示乱码的文件格式有问题,Qt Creator中默认UTF-8BOM格式,如果是UTF-8格式转成BOM格式就可以了。
 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在CMakeLists.txt中,你可以使用以下命令来加载glog:find_package(Glog REQUIRED)include_directories(${GLOG_INCLUDE_DIRS})target_link_libraries(mytarget ${GLOG_LIBRARIES}) ### 回答2: 在Ubuntu的Qt项目中使用glog,可以通过CMakeList文件来加载glog库。下面是一个示例的CMakeList配置: 首先,在CMakeList.txt文件的开头,添加以下代码行: ``` find_package(glog REQUIRED) include_directories(${GLOG_INCLUDE_DIR}) ``` 这将会使用CMake的`find_package`命令来寻找安装在系统中的glog库,并将其标记为必需。然后,通过使用`include_directories`命令,将glog库的头文件目录添加到项目的包含目录中。 然后,在添加了项目的源文件后,可以使用以下代码行来链接glog库: ``` target_link_libraries(<your_project_name> ${GLOG_LIBRARY}) ``` 这会使用CMake的`target_link_libraries`命令将glog库链接到项目中。请确保将`<your_project_name>`替换为您的Qt项目名称。 最后,为了确保程序在运行能够找到glog库,可以将glog库的动态链接库文件路径添加到系统的环境变量中。可以在终端中执行以下命令: ``` export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib ``` 这将会将glog库的动态链接库文件路径`/usr/local/lib`添加到系统的环境变量中。 完成以上步骤后,重新生成并构建您的Qt项目,glog库应该能够成功加载。 需要注意的是,您需要先在系统中正确安装glog库才能使用上述配置。可以通过终端执行以下命令进行安装: ``` sudo apt-get install libgoogle-glog-dev ``` 希望这能帮助到您! ### 回答3: 在Ubuntu上使用Qt进行开发,可以通过CMake来加载Glog库。首先,确保Glog库已经安装在系统中。如果没有安装,可以通过以下命令安装: ``` sudo apt-get install libgoogle-glog-dev ``` 接下来,在CMakeLists.txt文件中添加以下代码来加载Glog库: ``` # 需要找到Glog库的路径 find_package(Glog REQUIRED) # 添加Glog库的头文件路径 include_directories(${GLOG_INCLUDE_DIRS}) # 添加Glog库的链接路径 link_directories(${GLOG_LIBRARY_DIRS}) # 将需要使用Glog的源文件添加到要编译的目标中 add_executable(my_target main.cpp) # 链接Glog库 target_link_libraries(my_target ${GLOG_LIBRARIES}) ``` 这样,使用Qt进行开发,可以在源文件中引入Glog库的头文件,并使用其中的函数和类了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值