100分求解决oracle汉字乱码问题!!!
症状:Oracle
服务器客户端编码相同为AMERICAN_AMERICA.WE8DEC
在Sqlplus中Select出来正常为汉字
用C#+MSPetshop的OraHelper显示出来为乱码
请大家帮忙诊治诊治,我已经郁闷得不行了 !!! 最好能提供源码,真是不胜感激呀!!! 在线等!!!
症状:Oracle
服务器客户端编码相同为AMERICAN_AMERICA.WE8DEC
在Sqlplus中Select出来正常为汉字
用C#+MSPetshop的OraHelper显示出来为乱码
请大家帮忙诊治诊治,我已经郁闷得不行了 !!! 最好能提供源码,真是不胜感激呀!!! 在线等!!!
CSDN的人都潜水了 ?
是不是用的
OracleClient?
如果是Oledb的话 好想有问题
最好的还是JAVA实现 UTF-8没的问题
建议修改C#
我以前也遇到过乱码问题,不过和你的情况不一样。我的是通过CRT连接数据库后,查询出来的带有中文的记录就出现乱码。不过把客户端的字符集和数据库的字符集设置一样就ok了
。
Encoding gb2312=Encoding.GetEncoding("GB2312");
//转为utf-8格式
if (oldSort==1)
{
byte[] bgb=gb2312.GetBytes(oldCode);
byte[] butf=Encoding.Convert(gb2312,utf8,bgb);
string sutf8=utf8.GetString(butf);
return sutf8;
}
//转回gb2312
else
{
byte[] u=utf8.GetBytes(oldCode);
byte[] gb=Encoding.Convert(utf8,gb2312,u);
string sGb=gb2312.GetString(gb);
return sGb;
}
我的电脑—右键—属性—高级—环境变量—系统变量,添加新变量ORA_NCHAR_LITERAL_REPLACE,值为True。参考信息(强烈推荐):http://blog.sina.com.cn/s/blog_503cbc890100b483.html~type=v5_one&label=rela_nextarticle
或
http://dev.tot.name/db/html/20090321/20090321222032.htm
<globalization culture="zh-CN" requestEncoding="gb2312" responseEncoding="gb2312" uiCulture="zh-CN"/>
Oracle字符集:
SIMPLIFIED CHINESE_CHINA.ZHS16GB