国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java中的亂碼問題研究(二)

mochixuan / 1643人閱讀

摘要:一前言上面寫了的亂碼問題,接下來寫的是中中的問題,大楷我比較關心一點,因為遇到這個的情況多一些吧。注意是就行了,之前采用是由用戶設置的編碼方式解析,過后有個參數被默認了,就使用了解析了,這兒是配置中的關鍵。

一、前言

上面寫了console的亂碼問題,接下來寫的是web中servlet中的問題,大楷我比較關心一點,因為遇到這個的情況多一些吧。直接開始吧。

二、jsp和servlet中的亂碼問題

其實在java文件的編譯的情況和(一)中的情況是一樣的,不過這里是由WEB容器去調用JVM而已,那么我們得知道一些默認的東西

比如特別重要的:(摘要)

如果Servlet 在運行的過程中,需要接受從客戶端傳來的字符如:表單輸入的值和URL中傳入的值,此時如果程序中沒有設定接受參數時采用的編碼格式,則WEB 容器會默認采用ISO-8859-1 編碼格式來接受傳入的值并在JVM 中轉化為UNICODE 格式的保存在WEB 容器的內存中。Servlet 運行后生成輸出,輸出的字符串是UNICODE 格式的,緊接著,容器將Servlet 運行產生的UNICODE 格式的串(如html語法,用戶輸出的串等)直接發送到客戶端瀏覽器上并輸出給用戶,如果此時指定了發送時輸出的編碼格式,則按指定的編碼格式輸出到瀏覽器上,如果沒有指定,則默認按ISO-8859-1 編碼發送到客戶的瀏覽器上。

注意是ISO-8859-1就行了,tomcat 5.0之前采用是由用戶設置的編碼方式解析,tomcat 5.0過后有個參數(useBodyEncodingForURI)被默認了false,就使用了ISO-8859-1解析了,這兒是配置中的關鍵。

public class Hello extends HttpServlet {
    private static final long serialVersionUID = 4878915372815719687L;
    
    public Hello() {
        super();
    }
    public void destroy() {
        super.destroy(); // Just puts "destroy" string in log
    }
    public void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
        //輸入:設置請求編碼格式
        request.setCharacterEncoding("GBK");
        //輸出:設置響應編碼格式
        response.setContentType("text/html; charset=GBK");
        PrintWriter out = response.getWriter();
        out.write("
"); out.write("Hello, 中文!"); out.write("
"); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //輸入:設置請求編碼格式 request.setCharacterEncoding("GBK"); //輸出:設置響應編碼格式 response.setContentType("text/html; charset=GBK"); //從請求中接收參數 String input_str = request.getParameter("input_str"); String url_arg = request.getParameter("url_arg"); //出錯處理 input_str = (null == input_str) ? "" : input_str; url_arg = (null == url_arg) ? "" : url_arg; PrintWriter out = response.getWriter(); out.write("
"); out.println("您輸入的字符串是:" + input_str); out.write("
"); //out.println("您的表單傳遞的URL參數是:" + new String(url_arg.getBytes("ISO-8859-1"), "GBK")); out.println("您的表單傳遞的URL參數是:" + url_arg); out.write("
"); } public void init() throws ServletException { // Put your code here } }

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/64744.html

相關文章

  • Java中的亂碼問題研究(一)

    摘要:一前言最近感覺自己對編碼的理解還不夠透徹,研究一下編碼的問題,我覺得這個是值得研究的地方。自己開始研究的時候,很細心的看了不少的資料,這里和大家分享一下,希望對大家有用,原理有些我就不一條一條的來了,重點描述下吧。 一、前言 最近感覺自己對編碼的理解還不夠透徹,研究一下編碼的問題,我覺得這個是值得研究的地方。自己開始研究的時候,很細心的看了不少的資料,這里和大家分享一下,希望對大家有用...

    godlong_X 評論0 收藏0
  • JavaWeb 亂碼問題終極解決方案!

    摘要:經常有讀者在公眾號上問亂碼的問題,昨天又有一個小伙伴問及此事,其實這個問題很簡單,但是想要說清楚卻并不容易,因為每個人亂碼的原因都不一樣,給每位小伙伴都把亂碼的原因講一遍也挺費時間的,因此,松哥今天決定寫一篇文章,和大伙好好捋捋中的亂碼問題 經常有讀者在公眾號上問 JavaWeb 亂碼的問題,昨天又有一個小伙伴問及此事,其實這個問題很簡單,但是想要說清楚卻并不容易,因為每個人亂碼的原因...

    canger 評論0 收藏0
  • JavaWeb中文亂碼初探

    摘要:一前言在開發的過程中,難免會出現中文亂碼的問題。接下來寫的是我在解決中文亂碼問題時的學習心得,一是為了能加深印象,二是希望能幫初學者們解決一些疑惑。二正文之所以會出現中文亂碼,是因為在進行時的編碼方式不正確。 一、前言  在開發JavaWeb的過程中,難免會出現中文亂碼的問題。接下來寫的是我在解決中文亂碼問題時的學習心得,一是為了能加深印象,二是希望能幫初學者們解決一些疑惑。如有說的不...

    eccozhou 評論0 收藏0
  • 菜鳥筆記(一) - Java常見的亂碼問題

    摘要:本文將介紹一種開發常見的亂碼問題。前提摘要在學習的過程中,亂碼問題是經常遇到的,無論是頁面亂碼還是數據庫亂碼。本文將羅列筆者在開發過程中常常遇到幾種亂碼場景。菜鳥筆記下周不見不散 本文將介紹一種Java Web/Api 開發常見的亂碼問題。 前提摘要:在學習Java Web的過程中,亂碼問題是經常遇到的,無論是頁面亂碼還是數據庫亂碼。本文將羅列筆者在開發過程中常常遇到幾種亂碼場景。 一...

    ixlei 評論0 收藏0
  • 各瀏覽器下載文件名不亂碼的解決辦法

    摘要:在項目中發現,使用下載中文名文件的時候,下載的文件名是亂碼的問題。但是這個問題在,,中是沒有的。原先以為是的,但是細細研究之下你會發現這個簡單的文件下載問題在協議里經歷了多少波折。 在項目中發現,使用Safari下載中文名文件的時候,下載的文件名是亂碼的問題。但是這個問題在IE,Firefox,Chrome中是沒有的。原先以為是Safari的bug,但是細細研究之下你會發現這個簡單的文...

    VishKozus 評論0 收藏0

發表評論

0條評論

mochixuan

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<