登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
每日签到
每天签到奖励2圆-6圆
发帖说明
VIP申请
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
VIP申请
VIP网盘
网盘
联系我们
每日签到
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
资源区
›
代码
›
Qt中文乱码的一种解决方法(ISO-8859-1和GBK编码互转) ...
Qt中文乱码的一种解决方法(ISO-8859-1和GBK编码互转)
[ 复制链接 ]
辉伫
2025-6-4 19:57:51
问题描述:在老项目数据库中,中文显示乱码,编码格式未知,一度怀疑进行了加密。
问题定位:最终,经过大佬的尝试,发现是编码格式的问题。老项目中是
将GBK编码的中文字符按照ISO-8859-1编码存入
,导致乱码。
解决方法(Qt):
[code]void test(){ // 读取数据库 QSqlDatabase db; QSqlQuery query(db); QString str = QString("select * from db;"); query.exec(str); while (query.next()) { // 读取乱码 QSqlRecord record = query.record(); QByteArray data = record.value("data").toByteArray(); // 确定两种编码格式 QTextCodec *codec_iso = QTextCodec::codecForName("ISO-8859-1"); QTextCodec *codec_gbk = QTextCodec::codecForName("GBK"); // 将Qt读取的QByteArray转换成ISO-8859-1编码 QByteArray b1 = codec_iso->fromUnicode(b); // 再用GBK编码转换成unicode QString s = codec_gbk->toUnicode(b1); // 打印输出是否正确 qDebug()
Qt
中文
乱码
一种
解决
相关帖子
一种FreeSWITCH流量镜像WebSocket音频推流方案
一种FreeSWITCH流量镜像WebSocket音频推流方案
分享一种前端模板化的思路
上下margin无法生效的一种情况-行内元素
解决Qt重绘事件中进行了耗时的图片操作导致卡顿问题
解决vscode启动异常卡顿问题?
SQL Server 2025中解决“写写阻塞”的利器
解决大型 PHP 应用中 URL 路由 挑战模块化路由系统
ORA-01720 错误及解决方法
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
一种FreeSWITCH流量镜像WebSocket音频推流方案
0
82
赴忽
2025-08-17
业界
一种FreeSWITCH流量镜像WebSocket音频推流方案
0
403
轩辕娅童
2025-08-17
安全
分享一种前端模板化的思路
0
657
后沛若
2025-08-22
代码
上下margin无法生效的一种情况-行内元素
0
149
存叭
2025-08-23
安全
解决Qt重绘事件中进行了耗时的图片操作导致卡顿问题
0
581
余思洁
2025-08-23
安全
解决vscode启动异常卡顿问题?
0
729
迭婵椟
2025-08-26
业界
SQL Server 2025中解决“写写阻塞”的利器
0
76
诈知
2025-08-30
业界
解决大型 PHP 应用中 URL 路由 挑战模块化路由系统
0
517
硫辨姥
2025-09-03
安全
ORA-01720 错误及解决方法
0
786
万妙音
2025-09-04
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
业界
签约作者
程序园优秀签约作者
发帖
辉伫
2025-6-4 19:57:51
关注
0
粉丝关注
14
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9984
杭环
9988
凶契帽
9988
4
氛疵
9988
5
黎瑞芝
9988
6
猷咎
9986
7
里豳朝
9986
8
肿圬后
9986
9
蝓俟佐
9984
10
虽裘侪
9984
查看更多