• 5577阅读
  • 1回复

关于freetds的编码转换问题(用过freetds的都进来看看,急)(已解决) [复制链接]

上一主题 下一主题
离线rqzrqh
 

只看楼主 倒序阅读 楼主  发表于: 2009-10-21
我用freetds在linux上连接 windows下的 sql server 2000
用tsql测试之后是可以显示中文的,这个时候没有对freetds.conf进行设置
但是用编程来获得数据之后并打印出来中文都是问号,搜索网上资料,首先我在./configure后面多添加了一条--disable-libiconv,据说这样可以防止freetds对编码的转换,但是不行。
又对freetds.conf进行修改,添加了client charset = utf-8,还是问号;各种编码都换过去了,全是问号。
用QT的QString也转换过了,也不行啊。。。
有谁解决过吗?
[ 此帖被rqzrqh在2009-10-22 12:44重新编辑 ]
离线rqzrqh

只看该作者 1楼 发表于: 2009-10-22
哎。。还是自己来吧
1:./configure --prefix=/opt/freetds --with-tdsver=8.0 --enable-msdblib --disable-iconv
最后一个参数是关键,好像是进行一次编码转换还是什么的
2:在编程的时候调用DBSETLCHARSET(d_ptr->loginRec, "UTF-8"),这个函数是用来设置转换成的编码。
这是在一个回复里面看到的,网上的资料说的几乎都是在freetds.conf里面设置编码。还是这个有效。

如果仅仅做第二步那么中文会部分正常显示,部分是问号+黑框。
快速回复
限100 字节
 
上一个 下一个