很多朋友都遇到SQL Server中文乱码问题,下面就为您介绍两种SQL Server中文乱码的解决方法,如果您遇到过类似的问题,不妨一看。
一、第一种
环境:
Eclipse:3.1.0(GBK缺省)
J2SDK:jdk1.5.0_06
tomcat:Tomcat5.0
Ms Sql server2000中文企业版
OS;windows2000 sp4 中文服务器版
Hibernate:2.0
Struts:1.1
1、在页面使用
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
2、在.java文件中
String e1=AddVipdataForm.getViptitle();
String expression1 = new String(e1.getBytes("ISO8859-1"),"GBK");
Vipdata vipdata = new Vipdata();
vipdata.setViptitle(expression1);
这样无论是输入还是显示都没有问题
第二种:
几乎所有的WEB容器在其内部默认的字符编码格式都是以ISO-8859-1为默认值的,同时,几乎所有的浏览器在传递参数时都是默认以UTF-8的方式来传递参数的。所以,虽然我们的Java源文件在出入口的地方指定了正确的编码方式,但其在容器内部运行时还是以ISO-8859-1来处理的。
由上面的原理你就会明白为什么在IE浏览器中链接中文文件,不能打开的原因了:因为常用的WEB容器如Tomcat,Weblogic在在其内部默认的字符编码格式都是以ISO-8859-1为默认值的,而IE浏览器在传递参数时都是默认以UTF-8的方式来传递参数的,造成了两种编码方式不同,这样页面链接就打不开中文文件!向Tomcat的server.xml文件中添加一行代码: URIEncoding="UTF-8"添加后的文件如下:<Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" port="8083" redirectPort="8443" maxSpareThreads="75" maxThreads="150" minSpareThreads="25" URIEncoding="UTF-8"></Connector>然后保存,重启Tomcat既可!
【编辑推荐】