J2EE SQL Server中文亂碼問題的方法
很多朋友都遇到SQL Server中文亂碼問題,下面就為您介紹兩種SQL Server中文亂碼的解決方法,如果您遇到過類似的問題,不妨一看。
一、第一種
環(huán)境:
Eclipse:3.1.0(GBK缺省)
J2SDK:jdk1.5.0_06
tomcat:Tomcat5.0
Ms Sql server2000中文企業(yè)版
OS;windows2000 sp4 中文服務(wù)器版
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容器在其內(nèi)部默認(rèn)的字符編碼格式都是以ISO-8859-1為默認(rèn)值的,同時,幾乎所有的瀏覽器在傳遞參數(shù)時都是默認(rèn)以UTF-8的方式來傳遞參數(shù)的。所以,雖然我們的Java源文件在出入口的地方指定了正確的編碼方式,但其在容器內(nèi)部運(yùn)行時還是以ISO-8859-1來處理的。
由上面的原理你就會明白為什么在IE瀏覽器中鏈接中文文件,不能打開的原因了:因?yàn)槌S玫腤EB容器如Tomcat,Weblogic在在其內(nèi)部默認(rèn)的字符編碼格式都是以ISO-8859-1為默認(rèn)值的,而IE瀏覽器在傳遞參數(shù)時都是默認(rèn)以UTF-8的方式來傳遞參數(shù)的,造成了兩種編碼方式不同,這樣頁面鏈接就打不開中文文件!向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既可!
【編輯推薦】