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。
我的 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。