新聞中心
SQL Server中文亂碼問題著實讓我們頭疼,不過沒關系,下面就教您一個處理SQL Server中文亂碼問題的方法,希望對您能有所啟迪。

目前創(chuàng)新互聯(lián)建站已為近千家的企業(yè)提供了網(wǎng)站建設、域名、網(wǎng)頁空間、網(wǎng)站改版維護、企業(yè)網(wǎng)站設計、陜州網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
在JSP頁面中,我們通過以下的方法解決SQL Server中文亂碼問題,首先,在html的head標簽內加入以下meta信息:
其作用是告訴客戶端瀏覽器,這個HTML為GBK編碼文件。
在JSP中加入以下的一句編譯指令,定義JSP程序使用字符集為GBK:
<%@ page contentType="text/html;charset=gbk" %>
這樣,保證了JSP服務器引擎將會把JSP的輸出以GBK編碼的形式輸出。
但是在表單提交或URL傳參數(shù)值時依然是按照Web容器在其內部默認的字符編碼格式ISO 8859-1來進行處理的。同時,幾乎所有的瀏覽器在傳遞參數(shù)時都是默認以UTF-8的方式來傳遞參數(shù)的。所以,雖然我們的Java源文件在出入口的地方指定了正確的編碼方式,但其在容器內部運行時還是以ISO 8859-1來處理的,這樣導致在提交的表單中若有中文字符,根據(jù)上文分析,在存入數(shù)據(jù)庫是使用的是ISO 8859-1, 而MS SQL Sever 2000數(shù)據(jù)庫默認使用的是GBK編碼,這樣出現(xiàn)的結果就是存到數(shù)據(jù)庫中的數(shù)據(jù)因編碼不同而出現(xiàn)亂碼現(xiàn)象。
在這種情況下,我們的解決辦法就是通過編碼轉換,使存放到數(shù)據(jù)庫的數(shù)據(jù)編碼格式與數(shù)據(jù)庫的內部編碼格式統(tǒng)一,即為GBK編碼格式。
即將寫入數(shù)據(jù)庫的中文轉換為從ISO 8859-1編碼格式,實現(xiàn)方法如下:
String str=new String(dbstr.getBytes(“ISO8859-1”),”GBK”);
讀出數(shù)據(jù)庫的中文將其從GBK編碼格式轉換為ISO 8859-1編碼格式,實現(xiàn)方法如下:
String str=new String(dbstr.getBytes(”GBK”) ,“ISO8859-1”);
【編輯推薦】
減少Sql server死鎖現(xiàn)象的發(fā)生
SQL Server死鎖監(jiān)控的語句寫法
SQL Server跨服務器查詢
SQL Server資源鎖模式大全
SQL Server分頁查詢的兩種方法
網(wǎng)站欄目:SQLServer中文亂碼問題的解決
網(wǎng)頁URL:http://www.fisionsoft.com.cn/article/dpejodd.html


咨詢
建站咨詢
