在使用springmvc的web.xml配置亂碼攔截器之后接收的get或者post請求中文還是亂碼。我的web.xml 配置<filter> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <async-supported>true</async-supported> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>然后我使用了兩種方式去請求接口GET和post第一種情況:用get方式提交接口,然后在SpringMVC中方法接收參數(shù)是用注解@RequestParam String name然后用該方式接收的值就是亂碼,亂碼的結(jié)構(gòu)是&aaa;&ddd;這種的,然后我用java轉(zhuǎn)碼去轉(zhuǎn)也不能成功第二種情況:用get方式提交接口,然后在SpringMVC中方法接收參數(shù)是用注解@RequestParam String name然后用該方式接收的值也是亂碼,亂碼的結(jié)構(gòu)是&aaa;&ddd;然后我用java轉(zhuǎn)碼去轉(zhuǎn)也不能成功第二種情況:用get方式提交接口,然后在SpringMVC中方法接收參數(shù)是用HttpServletRequest request 方法接收request.getParamter('name'),也是亂碼,亂碼的方式是?????全是問號,然后我用轉(zhuǎn)碼一下System.out.println("keyword" + new String(keyword.getBytes("iso-8859-1"),"utf-8"));就會(huì)變成中文。然后再用post方式用該方法也能夠得到正確的中文。
1 回答

長風(fēng)秋雁
TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超7個(gè)贊
CharacterEncodingFilter 對 URI 參數(shù)無效。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
在Tomcat中可以設(shè)置URIEncoding參數(shù)指定URI的編碼。
添加回答
舉報(bào)
0/150
提交
取消