怎样解决java乱码转化问题

J2EE 码拜 10年前 (2015-04-16) 1522次浏览 0个评论
 

如:“锛燂紵锛?”如何用java转成正常中文显示,该数据已存入数据库;现在要把它取出来,转成正常中文,再存进数据库;就这点分了,求教

怎样解决java乱码转化问题
2分
数据库里面乱码吗
怎样解决java乱码转化问题
数据库里存的已经是乱码,
怎样解决java乱码转化问题
new String(mes.getBytes(“GBK”),”utf-8″);这种方法转貌似不行
怎样解决java乱码转化问题
4分
我试了下,直接拿你这个字符串去转没用,你知道你存进去是什么格式的么?
怎样解决java乱码转化问题
4分
这个你拿出来没办法改,我试了很多方法,  拿个简单的例子:

你随便转码一段中文, 然后将乱码复制出来,然后用反的转码去转,结果发现编码又不同了…

怎样解决java乱码转化问题
2分
   存进去就不能让他乱码,出来是不可转的
怎样解决java乱码转化问题
引用 4 楼 shijing266 的回复:

我试了下,直接拿你这个字符串去转没用,你知道你存进去是什么格式的么?

据说是GBK;我也不清楚了;

怎样解决java乱码转化问题
2分
转了也会不一样
怎样解决java乱码转化问题
2分
      你传过去的就是乱码的文字吧
怎样解决java乱码转化问题
2分
  一般默认是utf-8,  GBK(中国开发的东东  才会是)
怎样解决java乱码转化问题
这数据是别人存进数据库的,来源已没必要去追究了,也追究不到了,我现在要把他从数据库取出来,转成正常中文;再存进去
怎样解决java乱码转化问题
2分
查看入数据库之前是否乱码,如果入数据后乱码,设置下数据库编码
怎样解决java乱码转化问题
引用 12 楼 yulongde77 的回复:

查看入数据库之前是否乱码,如果入数据后乱码,设置下数据库编码

这个可以确认别人输入的是中文,这个乱码的入口现在已处理,就已存进去的乱码数据还没处理

怎样解决java乱码转化问题
2分
你是中 界面到后台    吧  在你  即将存入数据库 前到控制台  输出 是 乱码吗 
怎样解决java乱码转化问题
2分
你试试用

引用 13 楼 ld52098 的回复:
Quote: 引用 12 楼 yulongde77 的回复:

查看入数据库之前是否乱码,如果入数据后乱码,设置下数据库编码

这个可以确认别人输入的是中文,这个乱码的入口现在已处理,就已存进去的乱码数据还没处理

楼主用的是什么数据库工具?  PL/SQL么,还是Navicat,  如果是PL/SQL,可以看看这个
http://blog.sina.com.cn/s/blog_6ce7ab470100y2an.html

怎样解决java乱码转化问题
2分
   如果不是乱码, 用的是MySQL数据库的话   就去修改MySQL的存储格式改成utf-8  
怎样解决java乱码转化问题
数据库是Oracle; 
sqldeveloper 和DbVisualizer都用
怎样解决java乱码转化问题
2分
即将存入数据库 前到控制台  输出 是 乱码吗 
怎样解决java乱码转化问题
2分
数据库里的数据怎么能是乱码的呢?这样完全不合理
怎样解决java乱码转化问题
2分
预估乱码一定出现在入库前
怎样解决java乱码转化问题
8分
这个看你存数据库之前,中文是否出现乱发,你可以在后台打印出来看看,如正常,看下当前编码,和数据库用的编码是否一致。
post请求,直接request.setCharacterEncoding(“utf-8″),把浏览器的编码也设成utf-8
get请求,超链接,sendRedirect  用getBytes转换下,new String(str.getBytes(“iso-8859-1”),”utf-8”)处理
怎样解决java乱码转化问题
唉,折腾了一上午,看样子这批乱码数据是无法还原了;
怎样解决java乱码转化问题
2分
按道理是能还原的  你看看你们之前存进数据库的是什么编码
然后 再把数据这批数据拿出来做对应的编码
你们没改数据库的编码格式吧?
怎样解决java乱码转化问题
6分
估计是木有办法了,存进去的东西已经带了很多问号。按经验,很多中文编码在无法识别的字符时,一般会用问号代替,也就是说,原来存进去的东西,很多因为编码不正确而识别不了的字符,已经被统一存为问号了,源数据已经丢失,还原不了喽。
怎样解决java乱码转化问题
2分
看看你页面最上面创建的是什么编码格式如果不是UTF-8可以加上怎样解决java乱码转化问题
或者后台接收参数时进行编码格式转换
String value = new String (request.getParameter(“name”).getBytes(“ISO-8859-1″),”UTF-8”);
如果以上都解决不了的话   可能是数据库编码设置问题
MYSQL一般会出现这样的问题 可以用以下方法查看编码格式
怎样解决java乱码转化问题
其中,character_set_client为客户端编码方式;character_set_connection为建立连接使用的编码;character_set_database数据库的编码;
character_set_results结果集的编码;
character_set_server数据库服务器的编码;
只要保证以上四个采用的编码方式一样,就不会出现乱码问题。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明怎样解决java乱码转化问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!