在java背景的Action代碼或者Servlet代碼中用response的方法來設定輸出内容的編碼方式,有以下三個方法:
1、response.setCharacterEncoding("UTF-8");
2、response.setContentType("text/html;charset=UTF-8");
3、response.setLocale(new java.util.Locale("zh","CN"));
下面對以上3種方法進行差異分析:
第一種方法隻能用來設定out輸出流中所采用的編碼,但是它的優先權最高,可以覆寫後面兩種方法中的設定;
第二中方法可以設定out輸出流中字元的編碼方式,也可以設定浏覽器接收到這些字元後以什麼編碼方式來解碼,它的優先權低于第一種方法,
但高于第三種方法;
第三種方法隻能用來設定out輸出流中字元的編碼方式,但是它的優先權最低,在已經使用前兩種方法中的一個設定了編碼方式以後,它就被覆寫而不起作用了。