gpt4 book ai didi

mysql - 在 JSF 中使用国际化时出现的问题

转载 作者:太空宇宙 更新时间:2023-11-03 11:02:23 26 4
gpt4 key购买 nike

我在尝试在 JSF 中实现国际化时遇到问题。当我在我的 UI 页面中输入一些数据时(使用英语以外的语言),该值作为加密值存储在我的托管 Bean 变量中(甚至无法识别那是什么格式)。我无法获取在我的 UI 页面中输入的值。我需要在我的 MySql 数据库中存储不同语言的值(来自 JSF 页面)。但是如上所述,我正在努力获取托管 Bean 中的输入值。请指导我这样做。

提前致谢

最佳答案

加密?你在开玩笑。很可能你的意思是Mojibake .

为了避免 Mojibake,您需要确保在整个应用程序中生成和使用字符时使用同一种字符编码。如今,如果您想统治世界,UTF-8 是一个明智的选择。 JSF2 一直默认为 UTF-8。所以你的问题有点奇怪。

也许您实际上正在使用 PrimeFaces?众所周知,在触发 ajax 请求时会弄乱默认的 UTF-8 字符编码。那部分回答了here ,您需要创建一个 servlet 过滤器。

或者也许该值实际上是正确的,但是您将该值打印到一个根本不支持 UTF-8 的输出,因此您错误地确定了问题的原因?例如。通过System.out.println()在 Eclipse 控制台中。您需要通过 Window > Preferences > General > Workspace > Text file encoding 配置它,如回答 here .

或者您可能通过 <f:view encoding> 明确强制 JSF2 编码为不同的东西,例如至 ISO-8859-1 .你不应该那样做,删除 encoding来自 <f:view> 的属性并保持默认。

或者很可能您的 MySQL 数据库/表编码根本不是 UTF-8,但这与您描述的问题症状不匹配,或者您必须省略了您实际打印从数据库中检索到的值的部分而不是从表单提交中检索到的值。

无论如何,Unicode - How to get the characters right? 中详细阐述了您需要了解的有关 Java EE Web 应用程序中字符编码的所有信息,以及所有可能的问题和解决方案。

关于mysql - 在 JSF 中使用国际化时出现的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14703611/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com