如何去除PHP中的特殊字符
How to remove the special characters in PHP
我已经尝试过人们提供的大多数东西,我正在尝试用 ?在下面的图片中。
示例“²”导致了以下问题。
这是它的打印方式:
这是数据库中的内容:
Size: 190(L) x 190(W) (Single Door) x 216(H)cm, 6mm, 3.6m² (6'3" x 6'3"), 3 Sections Long
Packaging Size: 161(L) x 62(W) x 13(H)cm, 193(L) x 21(W) x 14(H)cm
Total Weight GW: 48.1kg
数据库格式化为 Uft8
这是我目前必须尝试摆脱它的代码:
function removeNonUtf8($data){
//$data = preg_replace('/\x{00B0}/u'," degress", $data );
return preg_replace('/[^A-Za-z0-9 @#%~\'\"\®\©_\-\,\+\&.\}\=\!\<\>\|\:\-\\\+\*\?\[\^\]$\(\)\{Â]/','', $data);
$data = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $data);
return $data;
}
在此之后,它将它更改为不同的符号,但仍然没有摆脱它。
但是还是不行?
有什么提示吗?
将此添加到您的 php 文件中的 header 并让我知道它是否解决了 - <?php header('Content-Type: text/html; charset=UTF-8') ?>
首先,特殊字符用带有 ?因为浏览器不支持这种字体。如果你想打印它,请关注这个公会:http://jkorpela.fi/html/characters.html。
或者您可以简单地为您的浏览器指定一个字体列表,如下所示:
font-family: DejaVu Sans, Symbola, Everson Mono, Dingbats, Segoe UI Symbol,
Quivira, SunExt-A, FreeSerif, Universalia, unifont;
但是如果您想删除它,请更改您的正则表达式模式,因为它现在与您期望的字符不匹配。比如/²|其他特殊字符../
我已经尝试过人们提供的大多数东西,我正在尝试用 ?在下面的图片中。
示例“²”导致了以下问题。
这是它的打印方式:
这是数据库中的内容:
Size: 190(L) x 190(W) (Single Door) x 216(H)cm, 6mm, 3.6m² (6'3" x 6'3"), 3 Sections Long Packaging Size: 161(L) x 62(W) x 13(H)cm, 193(L) x 21(W) x 14(H)cm Total Weight GW: 48.1kg
数据库格式化为 Uft8
这是我目前必须尝试摆脱它的代码:
function removeNonUtf8($data){
//$data = preg_replace('/\x{00B0}/u'," degress", $data );
return preg_replace('/[^A-Za-z0-9 @#%~\'\"\®\©_\-\,\+\&.\}\=\!\<\>\|\:\-\\\+\*\?\[\^\]$\(\)\{Â]/','', $data);
$data = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $data);
return $data;
}
在此之后,它将它更改为不同的符号,但仍然没有摆脱它。
有什么提示吗?
将此添加到您的 php 文件中的 header 并让我知道它是否解决了 - <?php header('Content-Type: text/html; charset=UTF-8') ?>
首先,特殊字符用带有 ?因为浏览器不支持这种字体。如果你想打印它,请关注这个公会:http://jkorpela.fi/html/characters.html。 或者您可以简单地为您的浏览器指定一个字体列表,如下所示:
font-family: DejaVu Sans, Symbola, Everson Mono, Dingbats, Segoe UI Symbol, Quivira, SunExt-A, FreeSerif, Universalia, unifont;
但是如果您想删除它,请更改您的正则表达式模式,因为它现在与您期望的字符不匹配。比如/²|其他特殊字符../