java 从oracl读取数据时候乱码了,原因之一就是数据库所使用的字符编码是merican_America.US7Ascii

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 从oracl读取数据时候乱码了,原因之一就是数据库所使用的字符编码是merican_America.US7Ascii相关的知识,希望对你有一定的参考价值。

java 从oracl读取数据时候乱码了,原因之一就是数据库所使用的字符编码是merican_America.US7Ascii
而到了java时候我们要将这种格式转换为GBK才能正常显示中文
而这种American_America.US7Ascii编码对于中文支持不是很好,可是又不能改动数据库,只能从程序方面考虑了。
至于网上说的什么过滤器之类的,试了都没作用的。

参考技术A import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class CharEncodingFilter implements Filter
public void destroy()



public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
chain.doFilter(request, response);


public void init(FilterConfig arg0) throws ServletException


本回答被提问者采纳
参考技术B 可以尝试编写一个编码转换类,看看是个什么样 。

java Swing 向数据库传参数出现乱码怎么办

参考技术A 格式化参数。校对数据库与代码的字符集编码。 参考技术B 1.查看java源码的编码格式是否与数据库的编码格式一致,不一致则改为一致就ok了
查看java源码的编码格式:点击你创建的项目右键----->属性----->Resource---->右侧的text
file
encoding
2.使用格式化参数
String
name
=
new
String(tradename.getBytes("ISO-8859-1"),"UTF-8");
参考技术C 自己去看javaAPI中format格式化或是String对字符串的字符集处理办法。http://www.konlley.icoc.cc/about.jsp

以上是关于java 从oracl读取数据时候乱码了,原因之一就是数据库所使用的字符编码是merican_America.US7Ascii的主要内容,如果未能解决你的问题,请参考以下文章

oracle 插入中文查询显示乱码,问号是啥原因

java 向数据库写入汉字的时候出现乱码

oracle 8i, 字符集为US7ASCII,java 取汉字乱码,怎么处理,求高手解答!

java读取blob全身乱码

基础12——乱码问题

java从数据库里读文件变乱码