首页 新闻 赞助 找找看

C# oracle 中文乱码

0
[待解决问题]

最近遇到一个棘手的问题:
1.客户要求服务器用英文字符集us7ascii的,不能修改
2.之前都是用中文字符集,C#采用OracleClient的方式去读取数据,插入数据都没问题,但是换成英文字符集时,读取数据、插入数据都是乱码了。
3.换成ORACLE.DataAccess的方式,忍让会出现读取数据、插入数据都是乱码的问题
4.采用微软的oledb方式,获取数据和插入数据终于不会乱码了,但是大数据字段比如clob类型,读取、插入就报错了
5.采用oracle 的oledb方式,读取数据没问题,可以读取大字段,但是where条件中不能出现中文,插入数据为乱码
6.上面的测试都是在客户端已改为英文字符集的情况下测试的,不存在客户端和服务器字符集不一样的情况。
delphi7 正常插入数据就正常。

请问,这个要怎么解决:读取中文,插入中文都没问题,且兼容clob大数据字段。
查询了相关问题,有几个相同经历都,但是没看到解决方式。
相关连接1:http://www.myexception.cn/c-sharp/1830294.html
2:http://www.itpub.net/thread-1935211-1-1.html

Poison_heng的主页 Poison_heng | 菜鸟二级 | 园豆:202
提问于:2020-05-13 10:08
< >
分享
所有回答(2)
-1

insert into test values(N'中文测试',N'中文测试')

单引号 前面 N 加了吗?

Tom.汤 | 园豆:3026 (老鸟四级) | 2020-05-13 11:52

测试过 不行的,,

支持(0) 反对(0) Poison_heng | 园豆:202 (菜鸟二级) | 2020-05-13 11:53

@哈哈heng: https://blog.csdn.net/junyong/article/details/7964612

这个文章的办法都试过了?

支持(0) 反对(0) Tom.汤 | 园豆:3026 (老鸟四级) | 2020-05-13 11:55

@Tom.汤: 嗯 网上查到都是几年前的 都试了不行,,难过(ಥ﹏ಥ)

支持(0) 反对(0) Poison_heng | 园豆:202 (菜鸟二级) | 2020-05-13 11:57

@哈哈heng: 正常 delphi 可以,C# 应该也是可以的, 会不会是驱动的问题, Oracle 有的官方驱动是不是就是不行的?

支持(0) 反对(0) Tom.汤 | 园豆:3026 (老鸟四级) | 2020-05-13 13:06
0

试试 oracleConnection.Unicode = true; ,参考 C#/Oracle: Specify Encoding/Character Set of Query?

dudu | 园豆:31075 (高人七级) | 2020-05-13 13:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册