原文地址:http://www.databaseskill.com/2247741/

我的jsp编码是utf-8,数据库oracle用的编码是us7ascii,在使用weblogic8的时候,使用在网上找到的方案能很好地解决乱码问题:

str = new String(rs.getString(i).getBytes("ISO-8859-1","GBK");

后来用weblogic 12c,发现即使用了上面的转换,也是得到乱码。仔细查看发现用getString取出来的字符已经是utf-8编码,gbk字符转换到utf-8会丢失,在反向转换也无济于事。于是上网乱找,看到了下面这些:

Chinese read from the database and displayed in the pages of GBK. If the database is stored in the font encoding is UTF-8, in the JSP page must use the statement str = new String (rs.getBytes (1), "UTF-8") or str = new String (rs.getString (1) . getBytes ("ISO-8859-1"), "UTF-8"), in order to correctly display Chinese. If the database is stored in a the GBK data, then the JSP should use str = new String (rs.getBytes (1), "GBK") or str = new String (rs.getString (1). GetBytes ("ISO-8859 -1 ")," GBK ") to display the correct Chinese.

(2) If the page is UTF-8, can not be directly displayed correctly GBK, a two-step conversion, str = new String (rs.getBytes (1), "GBK"), then str = new String the (str.getBytes ("UTF- 8 ")," GBK ") can correctly display Chinese. If kept in the database is UTF-8 directly with str = new String (rs.getBytes (1), "GBK") or str = new String (rs.getString (1). GetBytes ("ISO-8859-1" ), "GBK") can display Chinese.

重点在于不是用rs.getString()来取得字段,而是rs.getBytes()得到字节数组,然后直接生成gbk编码的字符串。

jdbc连接字符集为us7ascii的oracle数据库乱码解决办法相关推荐

  1. 解决SQL适配器连接到字符集为US7ASCII的Oracle数据库的中文乱码问题

    在使用xDBC连接到字符集为US7ASCII的Oracle数据库时,大家可能遇到过中文的乱码问题,尤其是使用Oracle自己的xDBC驱动的时候. 字符集为US7ASCII的Oracle数据库虽然可以 ...

  2. Docker 运行的 应用程序无法连接Oracle数据库的解决办法

    1. 最近公司使用docker化部署运行 app  发现一个部门的 多数据源取数的功能连接不上 oracle数据库 报错提示为: 2. 公司平台部同事给出两个解决方案: https://blog.cs ...

  3. Oracle中文乱码解决办法总结

    AMERICAN_AMERICA.WE8ISO8859P1,这个字符编码是西欧字符编码,对应于.Net的就是iso-8859-1字符编码,所以只需要改到系统的默认字符编码就行了. 解决方法: (1) ...

  4. Mac 系统下 Rstudio连接虚拟机(远程)oracle数据库

    Mac 系统下 Rstudio连接虚拟机(远程)oracle数据库 因为之前做的一个项目需要在mac系统上用Rstudio远程访问Oracle数据库,以对获得的数据进行进一步的分析~但是在网上找了很多 ...

  5. plsql 连接 虚拟机Linux下的Oracle数据库 失败

    plsql 连接 虚拟机Linux下的Oracle数据库 失败 plsql 连接 虚拟机Linux下的Oracle数据库 失败 2017年09月09日 09:10:23 守望dfdfdf 阅读数:18 ...

  6. Linux下数据库连接超时时长,关于.Net Core 部署在Linux下连接SqlServer数据库超时解决办法...

    .Net Core 在 Linux 下连接 SqlServer 需要 SqlServer2008 SP3或以上版本,或SqlServer2012,或SqlServer2014. 如果SqlServer ...

  7. 6.(Mysql数据管理相关)连接MYSQL,修改密码,增加新用户,数据库相关命令,表操作相关命令,数据相关命令,数据库sql导入和导出,备份数据库,查看不到mysql数据库的解决办法

     mysql安装完之后,登陆后发现只有两个数据库:mysql>show databases; +--------------------+ | Database           | +- ...

  8. oracle数据库异常---SP2-1503: 无法初始化 Oracle 调用界面 SP2-1503: 无法初始化 Oracle 问题的解决办法

    oracle数据库异常---SP2-1503: 无法初始化 Oracle 调用界面 SP2-1503: 无法初始化 Oracle 问题的解决办法 win7 下   cmd  运行   sqlplus  ...

  9. Windows10 远程桌面连接失败,报CredSSP加密oracle修正错误解决办法

    [Windows]Win10家庭版启用组策略gpedit.msc https://blog.csdn.net/u013642500/article/details/80138799  Windows1 ...

最新文章

  1. Myeclipse在启动tomcat的时候的模式改变
  2. F - 等式(1/x + 1/y = 1/n)
  3. adobe reader java_使用PDF框设置的表单字段值在Adobe Reader中不可见
  4. 电脑软件:巧用微软小工具解决日常问题!
  5. 128位加密SSL证书
  6. 漫画:什么是囚徒困境?
  7. cocos2d-x之读取xml文件
  8. DOTNET零碎要点---1.vb.net利用Oracle.DataAccess.dll链接Oracle数据库
  9. 徐州哪个技校学计算机,徐州技校,徐州技术学校哪个好,徐州技术学校哪个知名度高一点 - IT教育频道...
  10. 今天遇见了setTimeout()函数
  11. ES6、7学习笔记(尚硅谷)-6-形参默认值的设置
  12. TP框架使用ajax的post请求方式下载文件
  13. C# 给PowerPoint文档设置背景颜色和背景图片
  14. DOS计算机设置登录密码,如何在DOS里设置计算机密码
  15. 产品工作_技术与产品的异同
  16. 内部类的作用是什么?什么情况下使用匿名内部类?
  17. ColorOS怎么切换Android,OPPO怎么升级ColorOS11 OPPO升级ColorOS11方法
  18. android客户端与服务器端交互 如何保持session
  19. 利用指针完成两个数字的交换(c语言)
  20. ExoPlayer官方中文使用文档

热门文章

  1. 2022茶艺师(初级)操作证考试题库及在线模拟考试
  2. pms后端商品管理系统介绍
  3. 第十六天(配置BPDU,TCN BPDU)
  4. STM32——用PWM控制电机
  5. 1-11摇号机java_11选5在线模拟摇号
  6. 阿里天池供应链需求预测(二)
  7. 阿里天池课堂Python
  8. linux中dd命令写入数据,Linux中dd命令的用法
  9. .NET 实现手机短信验证接口
  10. Pomodoro方法