jsp中文亂碼問題解決

  在jsp的web開發中常常遇到中文亂碼問題,開發使用的的架構是SSH的,在struts端自動爲咱們封裝了變量。在咱們使用post請求時,是不會出現亂碼問題。get請求時就會出現亂碼。html

  咱們一般的作法是在jsp頁面中添加<%@ page contentType="text/html; charset=UTF-8"%>,可是仍然沒有解決,咱們只能經過轉碼來解決了。web

  實例:在jsp端對含有中文的變量(province=上海市,北京市)作 encodeURI(encodeURI(province))。作兩次的encodeURI服務器

服務器端咱們在 對該變量的set屬性方法中作手腳:架構

public void setProvince(String province) {
  try {
   province = URLDecoder.decode(province,"utf-8");
  } catch (UnsupportedEncodingException e) {
   e.printStackTrace();
  }
  this.province = province;
 }jsp

這樣我獲得的就是正確的中文了。post

對於爲何要作兩次的encodeURI,在網上查看到是struts會自動爲咱們decode一次變量,因此咱們要在客戶端作兩次,在服務端只須要作一次解碼工做。this

相關文章
相關標籤/搜索