• 7644阅读
  • 7回复

[提问]【提问】关于访问数据库汉字的乱码问题 [复制链接]

上一主题 下一主题
离线zkhappyfol
 

只看楼主 倒序阅读 楼主  发表于: 2005-11-26
— 本帖被 XChinux 从 Qt基础编程 移动到本区(2013-04-01) —
用QSqlQuery来访问Oracle数据库
汉字的部分都是乱码
是不是需要加一些关于Unicode的代码啊

哪位指点我一下,不胜感激!~~
离线XChinux

只看该作者 1楼 发表于: 2005-11-26
因为字符集不正确。关键是你数据库中存储使用的字符集,和你显示数据库中的内容使用的字符集要一致。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线zkhappyfol

只看该作者 2楼 发表于: 2005-11-26
谢谢~~

那么如您所说,Qt的字符集在哪里可以看到呢?

如果我用下列语句
QSqlQuery query;

int i;
query.exec("SELECT COLUNM FROM TABLE");
while (query.next())
{
  QString result = query.value(0).toString();
  ListBox1->InsertItem(result, i );
  i++;
}

PS:COLUMN字段在Oracle数据库中是varchar(50)
  而且这个表是从Sql Server中导出到Oracle中的

能不能再详细帮我一下,这个字符集该如何查看和更改呢?

谢谢~~
离线XChinux

只看该作者 3楼 发表于: 2005-11-26
这还用我给你找。
你在非QT程序中用的是什么字符集能正常显示它?这样你不就知道了么。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线zkhappyfol

只看该作者 4楼 发表于: 2005-11-26
不好意思拉~~

我的意思是在QT中哪里能看到所使用的字符集
还是要单另写代码定义字符集呢?

呵呵,原谅我的无知~~
离线XChinux

只看该作者 5楼 发表于: 2005-11-26
Qt中,默认的是Utf8
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线zkhappyfol

只看该作者 6楼 发表于: 2005-11-26
谢了~~
离线XChinux

只看该作者 7楼 发表于: 2005-11-26
错了,不是Utf8,是Unicode。Utf8是Unicode的一种
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个