免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 7891 | 回复: 23
打印 上一主题 下一主题

冰天雪地裸体跪地求助!关于汉字编码的兼容性问题! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-03-04 16:21 |只看该作者 |倒序浏览
各位老大,现在赶一个项目,遇到一个 棘手问题:

我在LINUX下用C(通过libpq)操作postgres数据库,测试时自己用C程序往表内写汉字(GBK编码),读取显示一切正常。

但在实际运行时,表内的汉字数据是由另外一个人做的一个网页JAVA程序写入的(JAVA程序用JAVA BEAN连数据库),我用C程序读取时全是乱码。而且用select 在控制台查看时所有汉字字段都是乱码!后来,JAVA程序在写入时也换了很多种编码格式,从ISO-8859-1,GB2312, UNICODE,JAVA程序读取一切正常,但我的C程序读出来根本不知道什么编码。怎么办?
  用libpq连接Postgres时有什么类似JDBC中的chatSet这种编码选项啊?

还有set client_encoding to ''这个有用么?

请各位前辈紧急援助一把,感激不尽了!!!

论坛徽章:
0
2 [报告]
发表于 2004-03-04 18:06 |只看该作者

冰天雪地裸体跪地求助!关于汉字编码的兼容性问题!

没人么?惨。。。。

补充一句,建立上述数据库的编码方式是SQL_ASCII

论坛徽章:
0
3 [报告]
发表于 2004-03-05 14:21 |只看该作者

冰天雪地裸体跪地求助!关于汉字编码的兼容性问题!

C中有一个函数iconv(xx,xx)
它可以转码..很方便

建你的数据库编码用UNICODE 不要用ASCII

set client_encoding to 数据库为客户端提供换为你可以用的编码
前题是你的数据库得是UNICODE.

论坛徽章:
0
4 [报告]
发表于 2004-03-05 18:14 |只看该作者

冰天雪地裸体跪地求助!关于汉字编码的兼容性问题!

谢谢netkiller  !

问题是我都不知道数据库中是什么编码的汉字,怎么用iconv转喃?

还有按set client_encoding to 地方式,库必须用UNICODE?那样不用再调用iconv吧?

谢谢解答!

论坛徽章:
0
5 [报告]
发表于 2004-03-05 19:10 |只看该作者

冰天雪地裸体跪地求助!关于汉字编码的兼容性问题!

不用再iconv

论坛徽章:
0
6 [报告]
发表于 2004-03-08 19:36 |只看该作者

冰天雪地裸体跪地求助!关于汉字编码的兼容性问题!

你好,netkiller 。

按照你说的方法,设置set client_encoding to 'GBK' 后:
从前JAVA写入的汉字看起来正常了,可C程序写入的汉字(写入端是GB编码)却全变成了乱码? 而且select 时出现大量警告:
WARNING:  UtfToLocal: could not convert UTF-8 (0xc2bd). Ignored
WARNING:  UtfToLocal: could not convert UTF-8 (0xc38c). Ignored
WARNING:  UtfToLocal: could not convert UTF-8 (0xc393). Ignored
WARNING:  UtfToLocal: could not convert UTF-8 (0xc393). Ignored

请问是什么原因?

还有一个问题:我另外一台数据库执行 set client_encoding to 'GBK'时显示:Client encoding to 'GBK' is not supported.我查了手册,说是“这个特性只有在制作 PostgreSQL 的配置阶段声明了多字节(--enable-multibyte)支持后才生效。”

请问现在我应该如何配置喃?

论坛徽章:
0
7 [报告]
发表于 2004-03-08 22:38 |只看该作者

冰天雪地裸体跪地求助!关于汉字编码的兼容性问题!

set client_encoding to 'GBK'

你的数据只有UNICODE里才可以用。

论坛徽章:
0
8 [报告]
发表于 2004-03-23 11:05 |只看该作者

冰天雪地裸体跪地求助!关于汉字编码的兼容性问题!

你不用再试其它的方法了,转码吧!将数据库编码改为gb2312或者unicode吧,方法:数据dump为一个文件,再建一个db编码为gb2312或unicode,将那个文件恢复就ok了,这问题我遇到过,请注意你原先数据库种存的编码到底是什么编码,然后新的数据库指定为那种编码,恢复就ok了,java这边就没问题了

论坛徽章:
0
9 [报告]
发表于 2004-03-23 11:08 |只看该作者

冰天雪地裸体跪地求助!关于汉字编码的兼容性问题!

而且用select 在控制台查看时所有汉字字段都是乱码
这个与你的控制台的解码方式还有关系。

论坛徽章:
0
10 [报告]
发表于 2004-04-02 17:33 |只看该作者

冰天雪地裸体跪地求助!关于汉字编码的兼容性问题!

是吗,多谢bulletming
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP