在eclipse環境裡,頁面傳輸資料的時候通常用ISO-8859-1這個字元集
可以用 str = new String(str.getBytes("ISO-8859-1"), "GBK"); 轉碼
str是你頁面得到的字元串,後面的表示從"ISO-8859-1"轉到"GBK",或者你轉成别的也可以
16:35 浏覽 (1550) 評論 (2) 分類: 技術 收藏 相關推薦 評論
chenlb 2007-09-09 回複
不好意思多寫了
Java代碼
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf8</param-value>
</init-param>
</filter>
<filter-mapping>
<url-pattern>/*</url-pattern>
</filter-mapping>
如果你這樣str = new String(str.getBytes("ISO-8859-1"), "GBK"); 轉碼。 寫出來程式通用性不好,而且每次有中文都要這樣,用過慮器好。但隻對post方式有效。get方式看, http://www.blogjava.net/chenlb/archive/2007/07/17/130922.html
如果是spring
用spring提供的過慮器,在web.xml裡加
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf8</param-value>
</init-param>
</filter>
<filter-mapping>
<url-pattern>/*</url-pattern>
</filter-mapping>
如沒用spring,用tomcat裡面的例子(在webapps\servlets-examples\WEB-INF\classes\裡把filters目錄放到你的classer\下,其實隻要SetCharacterEncodingFilter就可以了,同樣在web.xml裡加
http://xhy0422.javaeye.com/blog/51084