当前位置: 技术问答>java相关
数据库中的中文在浏览器中显示为乱码,请问该如何解决!
来源: 互联网 发布时间:2015-10-06
本文导语: 如题! | | 这种情况的原因很多,解决方法也有不少,下面提供几种,你根据不同的运行环境都试试,看如何。 1. 文件头是否加了 2. 采用 new String((s).getBytes("iso8859-1"))方...
如题!
|
|
这种情况的原因很多,解决方法也有不少,下面提供几种,你根据不同的运行环境都试试,看如何。
1. 文件头是否加了
2. 采用 new String((s).getBytes("iso8859-1"))方式将显示乱码的s转换正确
3. 采用 new String((s).getBytes("iso8859-1"),"GB2312")方式将显示乱码的s转换正确
4. 在3的解决方法中,你还可以在不同的汉字编码格式之间转换,包括8859-1,gb2312,GBK等,这样可以有6种方式,你都可以试试,当然有些没有用。
另外,需要注意的是选用的web服务器不一样,差别挺大的,就是同一产品的不同版本也有不同,你要根据具体运行环境来解决的。
1. 文件头是否加了
2. 采用 new String((s).getBytes("iso8859-1"))方式将显示乱码的s转换正确
3. 采用 new String((s).getBytes("iso8859-1"),"GB2312")方式将显示乱码的s转换正确
4. 在3的解决方法中,你还可以在不同的汉字编码格式之间转换,包括8859-1,gb2312,GBK等,这样可以有6种方式,你都可以试试,当然有些没有用。
另外,需要注意的是选用的web服务器不一样,差别挺大的,就是同一产品的不同版本也有不同,你要根据具体运行环境来解决的。
|
針對tomcat4以上的版本中
String str=rs.getObject("field1");
str=new String(str.getBytes("iso-8859-1"),"GBK");
就可以了
String str=rs.getObject("field1");
str=new String(str.getBytes("iso-8859-1"),"GBK");
就可以了
|
这是最简单的中文问题了
因为数据库和app(包括页面),用的编码方式不同。
数据库的中文数据必须经过以下转换
String sApp = new String(rs.getString(1).getBytes("iso-8859-1"),"gb2312")
反之
String sDB = new String(sDB.getBytes("gb2312"),"iso-8859-1")
因为数据库和app(包括页面),用的编码方式不同。
数据库的中文数据必须经过以下转换
String sApp = new String(rs.getString(1).getBytes("iso-8859-1"),"gb2312")
反之
String sDB = new String(sDB.getBytes("gb2312"),"iso-8859-1")