【发布时间】:2017-10-30 12:24:26
【问题描述】:
我有一个 JSP 页面,其中显示了一个名为 company 的字段,而这个 company 字段包含字符“á é ó ú”。我有一个 company.jsp 页面,可以在 Internet Explorer 浏览器上正确显示公司名称。
但是,当用户在 eclipse 中启用调试模式的情况下单击 company.jsp 中的 submit 按钮时,字段 company 将替换为 ? ???根据在线资源,这看起来像是编码问题。
以下行用于检索公司:
request.getParameter("companyName")
我添加了以下配置:
- UTF-8 配置 -
<%@page contentType="text/html" pageEncoding="UTF-8"%>这是在 jsp 页面中添加的。 -
request.setCharacterEncoding("UTF-8")- 添加到检索公司字段的方法中。 - 由于我使用的是 glassfish,我在 glassfish-web.xml 文件中添加了
<parameter-encoding default-charset="UTF-8" />。 - Internet Explorer 编码为 UTF-8
数据显示正确,但提交的数据相同,在IE上被问号代替。
我不知道如何解决上述问题,请问有什么建议吗?
【问题讨论】:
-
指定包含这些符号的字体。你的 ie 默认字体没有。
-
@ElliottFrisch 你确定有不受支持的字体会使提交的数据中断而不是不能正确呈现吗?
-
@zack6849 不支持的字形呈现为
?标记。 -
@ElliottFrisch 正确,已渲染,但我认为 OP 是说从 IE 接收的数据是服务器端的问号。如果无法渲染,它真的只是用问号代替真实角色吗?这听起来很糟糕
-
IE 字体目前是拉丁字体,文本字体 Courier 是新的,我应该改用哪一种?
标签: java jsp spring-mvc encoding