"N°X" 我想用 Num_X 替换 "N°" 我正在尝试用 $var = str_replace("N°","Num_",$var); 但没有任何东西-6ren">
gpt4 book ai didi

PHP str_replace 不替换字符 "°"

转载 作者:行者123 更新时间:2023-12-05 06:39:21 28 4
gpt4 key购买 nike

您好!

我从 .xlsx 文件中获取字符串 ->"N°X"

我想用 Num_X 替换 "N°"

我正在尝试用

$var = str_replace("N°","Num_",$var);

但没有任何东西被替换(根据 echo $var) 问题来自 ° 因为当我尝试用其他字符串替换一些字符串时 (没有 °)str_replace 有效

有什么建议吗?

最佳答案

确保输入的字符串是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 字符“度数符号”(U+00B0)。 fileformat.info现在派上用场了。

关于PHP str_replace 不替换字符 "°",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44682131/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com