Fah*_*kar 3 console jsf utf-8 character-encoding
我正在使用JSF 2.0,我有文本字段作为
<h:form>
<h:inputText value="#{myBean.myValue}" />
<h:commandButton value="Submit" action="#{myBean.printMe()}" />
</h:form>
Run Code Online (Sandbox Code Playgroud)
public void printMe() {
System.out.println("first line==" + myValue + "==");
System.out.println("second line==????????????????==");
}
Run Code Online (Sandbox Code Playgroud)
当我运行这个项目并输入????????????????文本框时,在IDE控制台中我看到如下.
INFO: first line==????????????????==
INFO: second line==????????????????==
Run Code Online (Sandbox Code Playgroud)
知道为什么会这样吗?
这是由使用错误的控制台编码引起的.
这条线
System.out.println("My Data is " + fullName);
Run Code Online (Sandbox Code Playgroud)
打印到标准输出(标准输出).您需要将其配置为使用UTF-8.假设您正在使用Eclipse,则需要通过Window> Preferences> General> Workspace> Text File Encoding将stdout编码更改为UTF-8 .

如果您正在使用Netbeans,我无法从头顶回答,请回答:希伯来语在netbeans中显示为问号,其中包含指向此Netbeans Wiki的链接,其中提到了以下内容:
要更改项目的语言编码:
- 在"项目"窗口中右键单击项目节点,然后选择"属性".
- 在"源"下,从"编码"下拉字段中选择一个编码值.
与具体问题无关,过滤器中的那些线是不必要的
res.setCharacterEncoding("UTF-8");
res.setContentType("text/html;charset=utf-8");
Run Code Online (Sandbox Code Playgroud)
它们默认为JSF2/Facelets已正确值.删除这些行.
| 归档时间: |
|
| 查看次数: |
5165 次 |
| 最近记录: |