SqlServer中文亂碼(其他資料庫也可參考)

來源:互聯網
上載者:User


我流程裡,使用的是gbk,或gb2312編碼格式,utf-8還沒試過。

1)jsp頁面:

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>

//1.下面這句是解決亂碼的關鍵之一,下面這句不僅影響中文,還影響布局,我之前布局時用utf-8,現在又改為gb2312,放在IE8裡布局亂掉,firefox裡正常。

<%@page contentType="text/html; charset=gb2312" %>

<%request.setCharacterEncoding("GB2312"); %>

2)伺服器端,servlet裡:

     把從介面獲得的參數,轉成gb2312,因為瀏覽器預設傳參數的編碼是iso-8859-1

            String searchW = req.getParameter("searchWord");
            //2.下面這句是解決亂碼的關鍵之一
            String searchWord = new String(searchW.getBytes("iso-8859-1"),"gb2312");  

下面這兩句我做了測試,加了和沒加只要上面的步驟正確,都可以顯示中文。不過我還是加了

        req.setCharacterEncoding("GB2312");
        resp.setContentType("text/html;chartset=GB2312");

3)資料庫端,把資料庫編碼也設為gbk.


我今天也碰到了一個頭疼的問題:如果把chartset utf-8改為gb2312,IE8裡的網頁布局就會有點亂。firefox還是正常,如果不改為gb2312中文資料又會出現亂碼。所以頁面的編碼,在IE8裡還會影響到布局。(其他IE版本沒做測試)

<%@page contentType="text/html; charset=utf-8" %><!-- This sentence decide the css and the unreadable code-->

後來我把,所有的css檔案,都儲存為gbk的編碼格式,把css裡的中文亂碼都刪掉,在IE8中的布局才恢複正常。

附帶查看作業系統編碼的Java程式:

public classShowSystemDefaultEncoding {

public static void main(String[]args) {

String encoding =System.getProperty("file.encoding");

System.out.println(encoding);

}}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.