str_replace ® 符号在 PHP 中不起作用

str_replace on ® symbol does not work in PHP

真的如标题所说。下面的代码总是returns false:

$product = str_replace('®', '', $product);    

我还尝试搜索 html 实体中的 ® 符号。

有解决办法吗?

由于文件编码,您必须将符号解码为其实体值 (®)

$product = html_entity_decode(str_replace('®', '', htmlentities($product)));

我认为 HD- 的回答是正确的,但我认为这个带有特殊字符的字符串来自数据库,您没有快速的方法将 ® 符号转换为它的 HTML 表示 ®

您遇到的问题可能是因为数据库连接使用的编码与您的 php 脚本使用的编码不同。

如果您的 PHP 脚本以 UTF-8 格式保存,请尝试以下代码:

$product = str_replace('®', '', utf8_encode($product));