0

如何让 JSF 到处使用 UTF-8?它将表单数据中的 UTF-8 转换为 Win-1252。数据来自 bean,我不使用任何过滤器,DB 与此问题无关。JSF 2.2.4,Glassfish 4.0.0。

发送前:

在 (абвг 变成 С°С±С²С³) 之后:

Chrome 中的表单数据:

在 JSF 调试工具中:

表格代码:

<h:form>
    <h:panelGrid columns="2">
        <h:panelGroup>#{m.nickname}</h:panelGroup>
    <h:panelGroup>
        <h:inputText value="#{register.nickname}" />
    </h:panelGroup>

    <h:panelGroup>#{m.password}</h:panelGroup>
    <h:panelGroup><h:inputSecret value="#{register.password}" /></h:panelGroup>

    <h:panelGroup>#{m.shortName}</h:panelGroup>
    <h:panelGroup><h:inputText value="#{register.shortName}" /></h:panelGroup>

    <h:panelGroup>#{m.email}</h:panelGroup>
    <h:panelGroup><h:inputText value="#{register.email}" /></h:panelGroup>

    <h:panelGroup />
    <h:panelGroup><h:commandButton action="#{register.register}" value="Регистрация" /></h:panelGroup>
    </h:panelGrid>
</h:form>
4

1 回答 1

1

使用以下内容创建glassfish-web.xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app>
    <parameter-encoding default-charset="UTF-8" />
</glassfish-web-app>
于 2013-10-24T22:34:03.853 回答