gpt4 book ai didi

java - UTF-8 无法通过 JDBC 在带有 MySQL 的 Servlet 中工作

转载 作者:行者123 更新时间:2023-11-29 07:41:44 26 4
gpt4 key购买 nike

我有一个在 Tomcat 服务器上运行的 Java Servlet,并使用 JDBC 连接 MySQL 数据库。如果我有以下代码段可以工作,则硬编码的 HTML 代码可以工作,但来自数据库的所有内容都显示不正确。

response.setContentType("text/html;charset=UTF-8")

enter image description here

如果我删除该行,数据库中的文本将正确显示,但基本 HTML 不会显示。 enter image description here

在数据库和 Eclipse 中,所有内容都设置为 UTF-8。

最佳答案

乍一看,好像您再次从数据库转换文本,一次太多了。

所以第一个检查是数据库。例如“löl”的长度应为3。存储的数据是否正确,读取是否正确。正如 @StanislavL 提到的,不仅数据库需要正确的编码,在 MySQL 中,通信的 java 驱动程序也需要使用 ?useUnicode=yes&characterEncoding=UTF-8 告知编码。也许编写或调试一小段读取数据库的代码。

如果存储正确,罪魁祸首可能是 String.getBytes()new String(bytes)

在浏览器中检查编码或保存页面。使用 NotePadd++ 或 JEdit 等程序员编辑器检查 HTML。这些工具允许使用不同的编码重新加载,以查看编码是什么。

第一页应该是 UTF-8,第二页是 Windows-1252 或其他格式。

确保 HTML 源文本正确:您可以在 JSP 中使用“\u00FC”表示 ü

关于java - UTF-8 无法通过 JDBC 在带有 MySQL 的 Servlet 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28897652/

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