新到一项目,客户那边的oracle编码为“ISO-8859-1”(很是气愤,装个GBK的他会死)。想请教一下,碰到这种情况,整个项目如何处理才能最低限度的避免随处可见的乱码问题。我的设想:
1.页面用ISO-8859-1。
3.tomcat的server.xml中也改为“ISO-8859-1”。
4.filter也设为ISO-8859-1。我试了下,做了个小列子,刚刚开始就碰到问题一些问题 。比如:
在java类中定义一个String s ="该死的乱码";
然后传到页面上,我用的jsp表达式显示出来为乱码。所以想问问高人,如何从整个项目的角度考虑,来处理这些问题?
1.页面用ISO-8859-1。
3.tomcat的server.xml中也改为“ISO-8859-1”。
4.filter也设为ISO-8859-1。我试了下,做了个小列子,刚刚开始就碰到问题一些问题 。比如:
在java类中定义一个String s ="该死的乱码";
然后传到页面上,我用的jsp表达式显示出来为乱码。所以想问问高人,如何从整个项目的角度考虑,来处理这些问题?
不过最好都统一成UTF-8的格式
所有的地方都转换为同一的GBK
JSP国际化
你可以写一个.properties文件,把你需要的文件用ISO-8859-1转一下,然后用标签把变量名取出来
在XML文件里配置一下就好了
2 我能想到的唯一方法,就是给所有的保存到数据库的数据做Base64编码,无论他是什么,都编码
显示的时候,再解码。
2 我能想到的唯一方法,就是给所有的保存到数据库的数据做Base64编码,无论他是什么,都编码
显示的时候,再解码。
如://GBK==>ISO串
String s_8859_1=new String("汉字".getBytes("GBK"),"ISO-8859-1");
//ISO串==>GBK
String s_GBK=new String(s_8859_1.getBytes("ISO-8859-1"),"GBK");这样的转换没有数据丢失。
然后对数据库的读取和写入时进行同意的编码了。。