html向action提交表單,中文亂碼問題的解決

tomcat默認提交的編碼是ISO8859-1,所以中文是亂碼  

解決辦法:

1. 如果是get方式 可以在server.xml的8080端口 節點中增加編碼

打開你運行項目的tomcat 文件目錄,找到 tomcat目錄下的\apache-tomcat\conf\server.xml 文件,找到你的端口所在所在的xml配置 

<Connector port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" (新添加)URIEncoding="UTF-8" />

 在其後面添加上 URIEncoding="UTF-8",重啓tomcat,再次運行。


2. 如果是post方式,可以增加filter,把編碼改成所需要的 (下面是spring的配置, 該配置只對post的內容起作用)


  <filter>
		<filter-name>Spring character encoding filter</filter-name>
		<filter-class>
			org.springframework.web.filter.CharacterEncodingFilter
		</filter-class>
		<init-param>
			<param-name>encoding</param-name>
			<param-value>utf-8</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>Spring character encoding filter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

其他參考:

首先  建議你用UTF-8編碼格式

第一、<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

這個是設置html中的編碼

第二、request.setCharacterEncoding("utf-8")  這是設置request接受參數的編碼

第三、new String(key.getBytes("ISO-8859-1"),"utf-8");

這個是設置某一個字符串的編碼的  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章