Mysql PHP, 检索字符串包含撇号不能替换

Mysql PHP, Retrived string contains apostrphone cant replace

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

Brazil’s ‘car wash’ 

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

Brazil�s �car wash� 

但是有了这个 header:

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。