gpt4 book ai didi

php - mysql + php编码

转载 作者:行者123 更新时间:2023-11-29 05:34:12 25 4
gpt4 key购买 nike

我知道有很多这样的问题,但我提出了一个新问题,因为在我看来,它是针对每种情况的。

因此,我的页面以UTF-8 格式显示。数据取自具有 utf8_unicode_ci collat​​ion 的 mySQL。我显示的数据是字符串 - 1 Bröllops-Festkläder

这里有一些 unicode 字符,它们应该可以正常显示,但实际上没有。在我的页面上,这些只是一堆象形文字。

现在,有趣的情况:

我正在使用 phpMyAdmin 来跟踪数据库中发生的事情。该网站能够导入包含客户数据的 CSV 文档并单独修改每个客户。如果我导入包含这些字符的 CSV 文档,它们将被写入数据库,在 phpMyAdmin 中可读,但在我的页面上不可读。如果我使用我的脚本修改客户信息并从浏览器中键入这些字符,则反之亦然 - 它们在页面上可读,但在 phpMyAdmin 中不可读,所以很明显编码是不同的。我花了很长时间想出正确的组合,但我做不到。

更新:Deceze 在下方发布了一个链接,我将其复制到此处以使其更引人注目。我相信这将为面临类似问题的许多人节省数小时和数天的时间 - Handling Unicode Front to Back in a Web App

最佳答案

这里涉及到几件事。如果你的数据库编码和 html 编码都很好,但你仍然看到伪影,很可能你的数据库连接没有使用相同的编码,从而导致数据损坏。如果您手动连接,则可以通过在 connect() 到数据库后的第一件事中执行查询 SET NAMES UTF8 来轻松强制执行 utf 编码。每个连接只执行一次就足够了。

编辑:但有一个重要提示 - 根据您将数据放入数据库的方式,您的数据库内容可能需要修复,因为如果您通过断开的连接放置它,它可能会损坏。因此,如果有人面临同样的问题 - 一旦您设置好所有内容,请确保您检查的是新鲜数据集,否则您仍然可能看错东西,即使现在一切正常。

关于php - mysql + php编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12144116/

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