gpt4 book ai didi

java - 编码故障排除

转载 作者:行者123 更新时间:2023-11-29 00:53:54 24 4
gpt4 key购买 nike

我正在从事 j2ee 项目。它应该适用于英语和俄语。所以我有一个 EncodingFilter,它有映射 '/*',每次都做一件事:request.setCharacterEncoding("UTF-8");

我还安装了 MySQL 5.5,表和数据库的字符集设置为 utf-8,排序规则设置为 utf8_general_ci

在我的本地机器上一切正常,俄语正确存储在数据库中。

然后我尝试在 jelastic.com 上测试我的应用程序。我还选择了 MySQL,导入了转储,将字符集设置为 utf-8 并将排序规则设置为 utf8_general_ci。当我将俄语单词添加到数据库时,我只看到“??????”。但是转储附带的旧记录很好!我真的不知道出了什么问题。

最佳答案

您需要告诉 MySQL JDBC 驱动程序使用 UTF-8 作为客户端编码而不是平台默认编码。如果平台默认字符集不是 UTF-8,那么每当 JDBC 驱动程序使用的平台默认字符集未涵盖字符时,这将导致 ? 被存储在数据库中。

您可以通过将 useUnicode=yescharacterEncoding=UTF-8 参数添加到 JDBC URL 来实现。例如

jdbc:mysql://localhost:3306/db_name?useUnicode=yes&characterEncoding=UTF-8

它适用于您的本地 Java 开发环境可能是因为您已经将环境的平台默认字符集配置为 UTF-8。

关于java - 编码故障排除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7072314/

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