免费注册 查看新帖 |

Chinaunix

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

在solaris下往sqlserver2k插入中文字符时变成乱码,问题解决? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-03-03 13:01 |只看该作者 |倒序浏览
在solaris下往sqlserver2k插入中文字符时变成乱码,问题解决?
问题:
    C程序,在solaris2.8上通过odbc3.6往sqlserver2k上插记录时,发现遇到中文字符到了数据库中,成

了乱码,并且通过改变编码方式,无法还原。
尝试解决过程:
    1)在程序中,加上setlocale(LC_CTYPE,"";
            环境变量设为setenv LANG zh或setenv LANG C或setenv LANG zh.GBK等
            均告失败。
    2)在网上看到很多人的java程序入库遇到类似的情况,说是“Java 语言默认的编码方式是UNICODE

,而我们中国人通常使用的文件和数据库都是基于 GB2312 或者 BIG5 等方式编码的”
还是怀疑是语言环境locale的问题,查了相关资料
        locale -m  显示iso_8859_1/charmap.src
        locale charmap 显示GB2312
    3)怀疑是odbc的问题,但是用perl写的通过odbc入库程序可以正确显示中文
现在,本人已经无策,请哪位高人帮帮忙,指点迷经,谢谢啦!

论坛徽章:
0
2 [报告]
发表于 2003-03-03 13:30 |只看该作者

在solaris下往sqlserver2k插入中文字符时变成乱码,问题解决?

怎么没有人回复,只好自己顶

论坛徽章:
0
3 [报告]
发表于 2003-03-03 13:41 |只看该作者

在solaris下往sqlserver2k插入中文字符时变成乱码,问题解决?

有谁知道localedef的用法和含义?
locale -m和locale charmap的区别?
谢谢啦!

郁闷中。。。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2003-03-03 14:07 |只看该作者

在solaris下往sqlserver2k插入中文字符时变成乱码,问题解决?

现在还没有solaris的环境。

不过估计和linux上的差不多。

locale -m 和locale --charmap是一样的

localedef是用来编译locale数据文件的。

我觉得应该与你的locale无关,也许是传送时的编码有问题

论坛徽章:
0
5 [报告]
发表于 2003-03-03 14:35 |只看该作者

在solaris下往sqlserver2k插入中文字符时变成乱码,问题解决?

locale -m 和locale --charmap是一样的
----可是为什么返回的结果不同?
localedef是用来编译locale数据文件的。
----不太会用
我觉得应该与你的locale无关,也许是传送时的编码有问题[/quote]
----应该如何解决和判断呢?

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
6 [报告]
发表于 2003-03-03 14:48 |只看该作者

在solaris下往sqlserver2k插入中文字符时变成乱码,问题解决?

不好意思。

在linux上结果确实是一样的。

localedef我也没用过。也没听说谁用这个解决编码问题。

我只是在写java程序是遇到过这个问题,ODBC我没有用过。

只是提供给你一个思路罢了。可以参看,也许有帮助
http://chinaunix.net/forum/viewtopic.php?t=15910

论坛徽章:
0
7 [报告]
发表于 2003-03-04 09:51 |只看该作者

在solaris下往sqlserver2k插入中文字符时变成乱码,问题解决?

可能是与locale有关

如你的locale 是gb2312还是其它的

如果不一样的话会有问题


如果有sun的技术支持的话可以直接问一下

或是上google找找资料

论坛徽章:
0
8 [报告]
发表于 2003-03-04 12:12 |只看该作者

在solaris下往sqlserver2k插入中文字符时变成乱码,问题解决?

to无双:
    请问你是否知道locale -m和locale charmap的区别?它们分别是什么意思?
    我把LANG的环境设成不同的(如zh.GBK,zh,zh.UTF-8,等等),但是locale -m 显示的都是 iso_8859_1/charmap.src ,这是怎么回事?

论坛徽章:
0
9 [报告]
发表于 2003-03-04 12:42 |只看该作者

在solaris下往sqlserver2k插入中文字符时变成乱码,问题解决?

我不知道
因为很久没有使用linux了
另外不同平台上的命令可能会有区别
可以看看man 说明

http://www.chinaunix.net/cgi-bin/bbs/topic.cgi?forum=14&topic=935
文章是java下对mysql使用中文的说明
可以参考一下

论坛徽章:
0
10 [报告]
发表于 2003-03-04 22:25 |只看该作者

在solaris下往sqlserver2k插入中文字符时变成乱码,问题解决?

我有一个相反的过程,就是win下的Client象SCO下的Server发送中文的时候有的时候就会变成乱码,我唯一做的事情就是在字符前面加一个空格。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP