java WEB,项目部署到服务器,IE浏览器页面中文有乱码

java WEB,项目部署到服务器,IE浏览器页面中文有乱码,第1张

本地运行没问题,部署到服务器上就有问题。那么如果你没有权限修改服务器的tomcat的servicexml文件就只能修改自己的程序了。

比如说你要传一个test = "你好"到页面去你可以先

test = URLEncoderencode(test, "utf-8");这么处理一下

然后到页面取到test之后再处理一下

test = URLDecoderdecode(test, "UTF-8");

首先我是用idea开发的,我的需求是在将java项目部署到服务器上,去调取数据,在用?id=北京 这种传参时,linux服务器出现乱码,最后试了多种方法,仅供参考

页面pageEncoding = "utf-8" charset="utf-8"

(1)serverxml 配置端口号出配置 URIEncoding = "UTF-8" 这是针对浏览器的编码

还有个参数 useBodyEncodingForURI = "true"; 暂时没搞清是什么

(2)webxml 中的字符集过滤器 是针对springMVC的字符集

(3) url 中 ?拼接的参数 不会经过字符集拦截器 重定向中可以使用ModelAndView 的对象,

ModelAndView mv = new ModelAndView("redirect:/indexdo");

mvaddObject("id",id);

(4)自定义拦截器

①写一个实现了 HandlerInterceptorAdpter 的拦截器 并且手动实现 preHandle() return true;

② springMVC配置文件中配置

<mvc:interceptors>

<bean id="idInterceptor" class="appplantinterceptorIdInterceptor"></bean>

</mvc:interceptors>

③指定字符集

String id = requestgetParameter("id");

if(id != null){

id = new String(idgetBytes("iso-8859-1"),"utf-8");

requestsetAttribute("id",id);

}

return true;

为什么要用gb2312呢

  大部分网站都是用utf-8的,百度用的gb2312,谷歌用的utf-8,webconfig默认设置时utf-8

  你的出现乱码是因为默认是utf-8,你打开文件,点菜单,文件 - 高级保存选项,保存为gb2312就不是乱码了,或者webconfig改成

<globalization requestEncoding="utf-8" responseEncoding="utf-8"/>,

<globalization requestEncoding="utf-8" responseEncoding="gb2312"/>都行,改的菜单我截个图给你看看

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » java WEB,项目部署到服务器,IE浏览器页面中文有乱码

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情