关于java web乱码问题(不同浏览器)

发布于 2022-08-28 00:54:55 字数 343 浏览 14 评论 0

是这样的,所有编码都是UTF-8
在服务端做了转码,将ISO-8859-1转为UTF-8;
用大部分浏览器都没有问题,除了Firefox,如果将这个转码去掉,Firefox就不乱码,但是其他浏览器乱码,不明白啊,求高人解答;
要是在服务器端判断浏览器,再做相应转码虽然可以,就像这样:
请输入图片描述
补充:乱码的地方是后台接受前台的参数乱码
主要是不明白为何会这样

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

情定在深秋 2022-09-04 00:54:55

你说的是哪里的位置乱码 .页面么

页面中设计是

<Connector port="8080" URIEncoding="UTF-8" />

不知道你用是什么服务器。Tomcat在server.xml中,找到Connector标签,加上

URIEncoding="UTF-8"

默认情况下为ISO8859-1 编码

一身仙ぐ女味 2022-09-04 00:54:55

1. 设置 tomcat 解析 url 的编码

假设你用 tomcat :在 conf/server.xmlConnector 节点加上 URIEncoding="UTF-8",如下:

<Connector port="8080" URIEncoding="UTF-8" />

根据文档,不设置的话默认会用 ISO-8859-1 。

然后删除服务端的 ISO-8859-1 转 UTF-8 的代码。

这样设置后,服务端使用 req.getParameter() 应该能得到正确的值。可以加 log 看看有没有拿到正确的值。

2. 设置服务端发送的响应的编码

protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
    ......
    resp.setCharacterEncoding("UTF-8");
    resp.setContentType("text/html");
}

设置完后,用 firefox 浏览相应网页,打开 firebug ,应该可以看到这样的 HTTP header:

Content-Type: text/html; charset=utf-8

3. 输出的 html 中设置编码

请搜索“html charset”

<meta charset="UTF-8">
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文