gpt4 book ai didi

php - 是utf-8的问题吗? PHP MySQL

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

我被这个困住了,之前我使用的是 php 5,现在我想出了 php 7,

问题是,当我试图从数据库中回显值时,它返回奇怪的特殊字符,而在我以前的网站中它返回正常。是utf-8的问题吗?我尝试了元标记 utf-8,并将 collat​​ion sql 更改为 utf8_unicode_ci,但不知何故它根本没有帮助......

返回结果是这样的

 — 

我要返回的东西

 — 

最佳答案

你从数据库中得到的是一个UTF8编码的字符串。

您看到的字符是 UTF8 字符串解释,编码为西方 (Windows Latin 1)。

如果您将该字符串包含在字符集为 Latin 1 的网页中,那么您将看到您发布的字符串;如果字符集是 UTF-8,那么您应该会看到正确的字符(无需将它们转换为 HTML 实体)。

由于后者不是您的情况,您可以按以下方式进行:


让你看到的字符存储在变量$string中:你可以用mb_convert_encoding获取html实体:

$html = mb_convert_encoding( $string, 'HTML-ENTITIES', 'UTF-8' );

这将导致:

 — 

因为转换后您会得到 ASCII 范围内的字符,所以生成的字符串适用于任何目标字符编码。

注意,根据上面,连破折号都被转换(成)


这只是对您遇到的问题的快速解决方案。

我认为来自 Machavity 的评论:

花点时间阅读 stackoverflow.com/questions/279170/utf-8-all-the-way-through

是个好建议。

关于php - 是utf-8的问题吗? PHP MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49457674/

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