J2EE SQL Server中文乱码问题的方法


  本文标签:SQL Server中文乱码

  很多朋友都遇到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"添加后的文件如下:然后保存,重启Tomcat既可!