单位的Oracle安装时,NLS_LANG是ASCII; 编程时引用ADO.NET自带的System.Data.OracleClient 命名空间(Oracle 的 .NET Framework 数据提供程序)建立数据库连接,查询结果就变成乱码(如下),不知道大家有没有这个烦恼。JH CYJH YT
Jo2-8-02 Jo9bSMLo 我自己理解这个问题是:客户端和服务器端Oracle使用的字符集相同,但是开发工具的字符集不同,结果造成数据乱码。问题是如何修改.NET Framework中Oracle 的字符集
Jo2-8-02 Jo9bSMLo 我自己理解这个问题是:客户端和服务器端Oracle使用的字符集相同,但是开发工具的字符集不同,结果造成数据乱码。问题是如何修改.NET Framework中Oracle 的字符集
解决方案 »
- 关于oracle大量删除重复数据的问题
- 多选题的时候,数据库中的数据是怎么保存的?
- pl sql(9i):如何判斷某個欄位中的內容有多少行及每行的長度是多少?
- 安装oracle9i时
- 安装ORACLE出错,求transaction_processing.dfj文件
- 怎么出来两个之间的数据同步问题?
- exists 可以变换成非exists的语句吗
- 谁做过收入,发出,库存管理,收发,发出,库存的表该如何设计呢?如何做收发存的月统计数据呢?
- 请求大家给一个使用vc开发proc*c的例子(针对oracle9i)!!真的很感谢大家!
- 问题:需求分析的流程图用什么工具画比较好?
- 调用xmldom.writetofile方法以后,为什么生成的xml文件却没有<?xml version="1.0" enconding="GB-2312">这一项?
- 请教:将oracle中的数据实时导入到access中,急!!!
下的NLS_LANG是什么?
ORACLE有两个设置字符集的地方,一个是在安装oracle的时候选择字条集,一般为chs16gb,具体哪几个字条记不大清了,这个是设置的服务器端的字符集,另一个有关字符集的地方就是在客户端,就是安装了ORACLE客户端的电脑上,在注册表里,既你说的那个地方,一般值为SIMPLIFIED CHINESE_CHINA.ZHS16GBK。
TO楼主,有一个命令可以查出服务器端的字符集的,你可以查一下再下定论,那个ASCII不是字符集的意思吧
以下是转gb2312的
Encoding enc = Encoding.GetEncoding("gb2312");
Encoding unicode = Encoding.Unicode;
Byte[] CS = Encoding.Convert(enc, unicode, yourBytes);char[] Chars = new char[unicode.GetCharCount(CS, 0, CS.Length)];
unicode.GetChars(CS, 0, CS.Length, Chars, 0);
string s = new string(Chars);
比如我现在有一个表GetTable1,一个控件a.
GetTable1内的数据需要转换,然后绑定a,怎么写?
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
a.DataSource=GetTable1; this.a.DataBind();
}
public DataTable GetTable1
{
get
{
return (new MySystem()).GetTable1();
}
}
Oralce Server 的字符集和 Oracle Client([HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME1]
) 字符集设置一样。(WE8ISO8859P1)现象:
用PLSQL 工具查看记录,中文能正常显示
用C#的oracle.client的组件编程导出数据记录(dataset),dataset内存里的值都是乱码?尝试:
用内存的值强制转换为UTF-8,似乎还是乱码?