您好!
我从.xlsx文件中获取字符串 - > "N°X"
我想将"N°"
替换为Num_X
我试图用
做到这一点$var = str_replace("N°","Num_",$var);
但没有任何内容被替换(根据echo $var
)
问题来自°
,因为当我尝试用其他方法替换一些String时
(没有°
)str_replace工作
有什么建议吗?
答案 0 :(得分:1)
确保输入字符串为UTF8。
$var = "N°X";
print mb_detect_encoding($var);
如果你没有得到UTF-8
,请转换它:
$var = mb_convert_encoding($var, 'UTF-8');
然后您的str_replace
将按预期工作。
可能对编码问题有所帮助的另一个工具是xxd
。
php -r '$var = "N°X"; echo $var;' | xxd
应该返回
00000000: 4ec2 b058 N..X
显示中间字符编码为C2B0十六进制,即 Unicode字符' DEGREE SIGN' (U + 00B0)。 fileformat.info现在很方便。