gpt4 book ai didi

php - 在表单/电子邮件中复制/粘贴后出现奇怪的字符

转载 作者:行者123 更新时间:2023-11-29 14:55:03 24 4
gpt4 key购买 nike

我的一些用户有时会在从 Gmail 复制内容后将内容粘贴到我网站的表单中。粘贴时这些字符看起来很正常,但在数据库中却出现了额外的特殊字符。

这是带有特殊字符的文本示例。它最初发生在这个页面上: http://www.hikingsanfrancisco.com/hiker_community/scheduled_hike_event.php?hike_event_id=91

不过看起来制作者已经把那些奇怪的字符清理掉了。

有谁知道如何阻止这种情况再次发生吗?

谢谢,亚历克斯

我使用 PHP 和 MySQL

最佳答案

我猜您正在获取 UTF-8 编码的文本,但您的数据库配置为 ISO-8859-1(又名 Latin-1)。您引用的页面显示:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

所以它声称被编码为UTF-8。 UTF-8 页面上的表单将以 UTF-8 格式发送回服务器。然后,您将该 UTF-8 数据发送到数据库中,并在其中存储为 Latin-1 编码文本。如果您没有自己处理 UTF-8 到 Latin-1 的更改,那么当您将数据发送回浏览器时,您会得到“有趣”的字符。只要文本仅使用标准 ASCII 字符,那么一切都会正常,因为 UTF-8 和 Latin-1 在 ASCII 字符上重叠。

解决方案是选择一种字符编码并在任何地方使用它。我建议到处使用 UTF-8。但是,如果您的数据库已经采用 Latin-1 格式,那么您必须使用 Latin-1 或更改数据库中的编码并重新编码所有数据。但是,如果数据库中的所有文本都是简单的 ASCII,则不需要重新编码。

如果没有示例,很难说会发生什么,但是当有趣(有趣的奇特,不好笑哈哈)字符仅在文本发送回浏览器时出现时,字符编码不匹配是常见问题。

关于php - 在表单/电子邮件中复制/粘贴后出现奇怪的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4847715/

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