新浪微博
腾讯微博
会员列表
统计排行
基本信息
到访IP统计
管理团队
管理统计
在线会员
会员排行
版块排行
帖子排行
标签排行
帮助
下拉
用户名
电子邮箱
用户名
密 码
记住登录
登录
找回密码
注册
快捷通道
关闭
您还没有登录,快捷通道只有在登录后才能使用。
立即登录
还没有帐号? 赶紧
注册一个
首页
论坛
Qt下载
作品展
群组
个人中心
捐赠、管理与开发
邮件订阅
帖子
文章
日志
用户
版块
群组
帖子
搜索
QTCN开发网
>
Qt基础编程
>
QT+POSTGRESQL 中文数据处理遇到的问题
发帖
回复
返回列表
新帖
6619
阅读
4
回复
QT+POSTGRESQL 中文数据处理遇到的问题
[复制链接]
上一主题
下一主题
离线
easytarget
UID:105438
注册时间
2010-09-17
最后登录
2010-09-26
在线时间
0小时
发帖
2
搜Ta的帖子
精华
0
金钱
20
威望
12
贡献值
0
好评度
2
访问TA的空间
加好友
用道具
新手上路
关闭
个人中心可以申请新版勋章哦
立即申请
知道了
加关注
发消息
只看楼主
倒序阅读
楼主
发表于: 2010-09-25
— 本帖被 XChinux 执行加亮操作(2010-10-21) —
我的环境是这样win7+qt4.5+postgresql 8(
数据库
是
utf8
编码)
query->exec("INSERT INTO mycatlog (cname) values('中国')") 这样可以直接写到数据库里。
select 也会显示正常,也就是
没有
乱码
但是如果我采用绑定变量的方式,即
query->prepare("insert into mycatlog(cname) values(?)");
QString
str="中国";
query->addBindValue(str);
query.exec();
可以正常
编译
,但执行时返回的错误是编码"GBK"的字符0xade5在"UTF8"没有相对应物;
query->prepare("insert into mycatlog(cname) values(?)");
QString str="中国";
query->addBindValue(str.toUtf8());
query.exec();
上面的进行修改
可以正常编译,但执行时返回的错误是类型“lo”不存在
上面的再进行修改
query->prepare("insert into mycatlog(cname) values(?)");
QString str="中国";
QTextCodec *codec=QTextCodec::codecForName("UTF-8");
query->addBindValue(codec->toUnicode("中国"));
query.exec();
可以正常编译和执行但写到数据库里成了锟叫癸拷
没有解决思路了,请高人指点
共
条评分
回复
举报
分享到
淘江湖
新浪
QQ微博
QQ空间
开心
人人
豆瓣
网易微博
百度
鲜果
白社会
飞信
离线
yj_yulin
UID:45495
注册时间
2008-06-02
最后登录
2023-12-11
在线时间
681小时
发帖
234
搜Ta的帖子
精华
0
金钱
2380
威望
239
贡献值
0
好评度
238
访问TA的空间
加好友
用道具
侠客
加关注
发消息
只看该作者
1楼
发表于: 2010-09-25
试试
QString str=qstring::fromlocal8bit("中国");
query->addBindValue(str);
共
条评分
回复
举报
离线
easytarget
UID:105438
注册时间
2010-09-17
最后登录
2010-09-26
在线时间
0小时
发帖
2
搜Ta的帖子
精华
0
金钱
20
威望
12
贡献值
0
好评度
2
访问TA的空间
加好友
用道具
新手上路
加关注
发消息
只看该作者
2楼
发表于: 2010-09-25
此方法试过了
可以正常编译,但执行时返回的错误是编码"GBK"的字符0xade5在"UTF8"没有相对应物;
共
条评分
回复
举报
离线
yj_yulin
UID:45495
注册时间
2008-06-02
最后登录
2023-12-11
在线时间
681小时
发帖
234
搜Ta的帖子
精华
0
金钱
2380
威望
239
贡献值
0
好评度
238
访问TA的空间
加好友
用道具
侠客
加关注
发消息
只看该作者
3楼
发表于: 2010-09-25
源代码文件编码是什么?
如果是utf8,则可能是
QString str=qstring::fromutf8("中国");
query->addBindValue(str);
请调试看看,str的内容是否正常,通常是str的内容本身就不正确了.
共
条评分
回复
举报
离线
XChinux
UID:2
注册时间
2004-11-08
最后登录
2025-07-04
在线时间
7023小时
发帖
11243
搜Ta的帖子
精华
61
金钱
150232
威望
9968
贡献值
702
好评度
8190
访问TA的空间
加好友
用道具
总版主
加关注
发消息
只看该作者
4楼
发表于: 2010-10-21
给楼主一个便捷的方法:
1、在main函数中调用
QTextCodec::setCodecForCStrings("xxxx");
或者
2、将源代码保存成xxxx内码格式的文件
这样在使用像 QString str="中国";这样时,就能与系统无缝衔而不需要做多余的转换了。
共
条评分
二笔 openSUSE Vim N9 BB10
XChinux@163.com
网易博客
腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
回复
举报
发帖
回复
返回列表
http://www.qtcn.org/bbs
访问内容超出本站范围,不能确定是否安全
继续访问
取消访问
快速回复
限100 字节
您目前还是游客,请
登录
或
注册
进入高级模式
文字颜色
发 布
回复后跳转到最后一页
上一个
下一个
关闭
补充发布信息
验证码:
发 布
隐藏
快速跳转
站务及资讯
网站公告
新闻资讯
Qt官方发布
网站管理
Qt应用及资源
Qt 作品展
Qt代码秀
Qt应用版
Qt技术讨论区
Qt安装与发布
Qt中文处理
Qt基础编程
Qt QML开发
Qt嵌入式开发
Qt移动平台开发
其它技术开发讨论区
Qt图书专区
《C++ GUI Qt 4编程》(第2版)专栏
《Qt高级编程》专栏
《零基础学Qt4编程》专栏
《Qt设计模式》(第2版) 图书专栏
Python Qt GUI快速编程
Qt项目开发区
天池项目
Qt开放平台开发库
机械CAD
扇贝词典
非活跃项目区
社区中心
帖子回收站(Trash)
招聘、求职、供求、广告等
休闲娱乐
关闭
关闭
选中
1
篇
全选