php - Mysql PHP,检索字符串包含撇号无法替换

标签 php mysql str-replace

我的表格上有一些记录,正如我在 PHPMyAdmin 上看到的那样,它包含这样的撇号:

Brazil’s ‘car wash’ 

当我进行查询并在没有任何标题的网页上回显它们时,这些撇号显示为问号,如下所示:

Brazil�s �car wash� 

但是有了这个标题:

header("Content-Type: text/html; charset=ISO-8859-1");

它们显示正确。

现在的问题是,我无法使用此代码替换它们:

$title = str_replace('’',"",$title);
$title = str_replace("‘","",$title);

如果 str_replace 不起作用,如何替换这些撇号?

最佳答案

这表明您的数据以 ISO 编码存储,而您网页的默认编码可能是 UTF-8 或其他编码。为什么要更换它们?您可以在输出之前将数据转换为 UTF-8,或者将整个站点编码更改为 ISO。但我始终更喜欢 UTF-8。

您可以使用 $title = utf8_encode($title) 转换为 UTF-8。

关于php - Mysql PHP,检索字符串包含撇号无法替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41913536/

相关文章:

php - 将 XML 数组输出为纯 XML

javascript - 用于注册表单的验证码不起作用

mysql - XML UTF-8编码,来自MySQL数据库

mysql - 如何使用 MySQL 设置递增变量?

php - 替换 WordPress 标题中的特定字符串

javascript - PhantomJS 408 错误 "Socket operation timed out"

mysql - 比较相同数据框的行

Python:删除数据框中除 > < 之间的信息之外的所有字符串

javascript - 在替换中使用匹配

php/模板与回显