最近公司有一个对外项目,采用的是oracle数据库,以前做的项目基本都是SQLserver,有和oracle对接的也就一些简单的增删查改。

还巧合的遇到乱码问题,网上各种查找,筛选,总算是把问题解决了。但是也不算完美,所以还想看看有没有大侠有没有更好的办法。

服务器编码为:AMERICAN_AMERICA.WE8ISO8859P1

首先HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1增加字符串值NLS_LANG 值:AMERICAN_AMERICA.WE8ISO8859P1

使用OracleClient读取是乱码,并且改注册表项、环境变量都没用。扑街。。。

使用ODP.NET,读取写入均是乱码,写入可以在执行之前对SQL语句进行重新编码解决,但是读取, 如果有几千行数据,每行几十个字段 , 一个一个转 ?   扑街。。。

最终使用的是OleDb,

连接字符串配置的Provider=oraoledb.oracle (网上有说写成 Provider = MSDAORA.1  这个貌似不太支持64位系统  直接连接不上数据库)

读取中文没啥问题,插入更新之前,把SQL语句重新编码一下就行

public string ToChString(string str)
{
System.Text.Encoding gbk_encoder = System.Text.Encoding.GetEncoding("gb2312");
byte[] bs = gbk_encoder.GetBytes(str);
char[] cs = new char[bs.Length];
for (int i = ; i < bs.Length; i++)
cs[i] = Convert.ToChar(bs[i]);
return new String(cs);
}

如果还有更好的办法麻烦大侠推荐下 ~

最新文章

  1. CSS基础篇之背景、过渡动画
  2. Windows Azure Storage (19) 再谈Azure Block Blob和Page Blob
  3. (转) The major advancements in Deep Learning in 2016
  4. [LeetCode][Java]Candy@LeetCode
  5. spring security 图解过滤器的使用
  6. Vuejs-组件-&lt;slot&gt; 标签分发内容
  7. Html5 &lt;video&gt;实现摄像头监控问题:html5并不支持rtsp协议,所以使用vlc进行转码,将rtsp转http流,这样&lt;video&gt;才可以直接播放
  8. 用 EPWA 写一个 图片播放器 PicturePlayer
  9. 在VS代码中使用版本控制
  10. SAP 000 客户端初始登录
  11. putty颜色调整
  12. POI的XWPFParagraph.getRuns分段问题 多余逗号
  13. ajax回调中执行window.open被拦截的解决办法
  14. JavaScript中的appendChild()方法
  15. js刷新页面方法 -- (转)
  16. PHP 时间与日期
  17. NanoPi2
  18. 15_游戏编程模式EventQueue
  19. GO语言list剖析
  20. C#自制png转ico图标工具

热门文章

  1. eas之日期选择控件
  2. 终于等到你!微软正式上线 Windows Terminal 预览版
  3. 博弈论题目总结(二)——SG组合游戏及变形
  4. EurekaLog是什么鬼?
  5. lucene_08_solr导入数据库数据
  6. Timus - 1213 - Cockroaches!
  7. Spring注解@Repository、@Service、@Controller、@Component
  8. MySQL 面试题目
  9. HDU 5358(2015多校联合训练赛第六场1006) First One (区间合并+常数优化)
  10. CodeForces 453A 概率题