jdbc连接字符集为us7ascii的oracle数据库乱码解决办法
原文地址: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数据库乱码解决办法相关推荐
- 解决SQL适配器连接到字符集为US7ASCII的Oracle数据库的中文乱码问题
在使用xDBC连接到字符集为US7ASCII的Oracle数据库时,大家可能遇到过中文的乱码问题,尤其是使用Oracle自己的xDBC驱动的时候. 字符集为US7ASCII的Oracle数据库虽然可以 ...
- Docker 运行的 应用程序无法连接Oracle数据库的解决办法
1. 最近公司使用docker化部署运行 app 发现一个部门的 多数据源取数的功能连接不上 oracle数据库 报错提示为: 2. 公司平台部同事给出两个解决方案: https://blog.cs ...
- Oracle中文乱码解决办法总结
AMERICAN_AMERICA.WE8ISO8859P1,这个字符编码是西欧字符编码,对应于.Net的就是iso-8859-1字符编码,所以只需要改到系统的默认字符编码就行了. 解决方法: (1) ...
- Mac 系统下 Rstudio连接虚拟机(远程)oracle数据库
Mac 系统下 Rstudio连接虚拟机(远程)oracle数据库 因为之前做的一个项目需要在mac系统上用Rstudio远程访问Oracle数据库,以对获得的数据进行进一步的分析~但是在网上找了很多 ...
- plsql 连接 虚拟机Linux下的Oracle数据库 失败
plsql 连接 虚拟机Linux下的Oracle数据库 失败 plsql 连接 虚拟机Linux下的Oracle数据库 失败 2017年09月09日 09:10:23 守望dfdfdf 阅读数:18 ...
- Linux下数据库连接超时时长,关于.Net Core 部署在Linux下连接SqlServer数据库超时解决办法...
.Net Core 在 Linux 下连接 SqlServer 需要 SqlServer2008 SP3或以上版本,或SqlServer2012,或SqlServer2014. 如果SqlServer ...
- 6.(Mysql数据管理相关)连接MYSQL,修改密码,增加新用户,数据库相关命令,表操作相关命令,数据相关命令,数据库sql导入和导出,备份数据库,查看不到mysql数据库的解决办法
mysql安装完之后,登陆后发现只有两个数据库:mysql>show databases; +--------------------+ | Database | +- ...
- oracle数据库异常---SP2-1503: 无法初始化 Oracle 调用界面 SP2-1503: 无法初始化 Oracle 问题的解决办法
oracle数据库异常---SP2-1503: 无法初始化 Oracle 调用界面 SP2-1503: 无法初始化 Oracle 问题的解决办法 win7 下 cmd 运行 sqlplus ...
- Windows10 远程桌面连接失败,报CredSSP加密oracle修正错误解决办法
[Windows]Win10家庭版启用组策略gpedit.msc https://blog.csdn.net/u013642500/article/details/80138799 Windows1 ...
最新文章
- Myeclipse在启动tomcat的时候的模式改变
- F - 等式(1/x + 1/y = 1/n)
- adobe reader java_使用PDF框设置的表单字段值在Adobe Reader中不可见
- 电脑软件:巧用微软小工具解决日常问题!
- 128位加密SSL证书
- 漫画:什么是囚徒困境?
- cocos2d-x之读取xml文件
- DOTNET零碎要点---1.vb.net利用Oracle.DataAccess.dll链接Oracle数据库
- 徐州哪个技校学计算机,徐州技校,徐州技术学校哪个好,徐州技术学校哪个知名度高一点 - IT教育频道...
- 今天遇见了setTimeout()函数
- ES6、7学习笔记(尚硅谷)-6-形参默认值的设置
- TP框架使用ajax的post请求方式下载文件
- C# 给PowerPoint文档设置背景颜色和背景图片
- DOS计算机设置登录密码,如何在DOS里设置计算机密码
- 产品工作_技术与产品的异同
- 内部类的作用是什么?什么情况下使用匿名内部类?
- ColorOS怎么切换Android,OPPO怎么升级ColorOS11 OPPO升级ColorOS11方法
- android客户端与服务器端交互 如何保持session
- 利用指针完成两个数字的交换(c语言)
- ExoPlayer官方中文使用文档