项目在tomcat 部署正常,glassfish 发布中文乱码
解决:
服务端接收ajax请求返回数据之前设置一下respose 编码
response.setHeader("Content-type", "text/html;charset=UTF-8");//我们采用的编码
或者,在项目的web.xml 添加spring 的配置
<!-- Filter 定义 --> <!-- Character Encoding filter --> <filter> <filter-name>encodingFilter</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> <init-param>
<!--respose 编码 --><param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter>
<filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
CharacterEncodingFilter类具有encoding和forceEncoding两个属性,其中encoding是表示设置request的编码,forceEncoding表示是否同时设置response的编码。