Php 替换字符串中的utf8文本
我从外部服务接收到一个字符串,其中包含一些utf8文本Php 替换字符串中的utf8文本,php,utf-8,Php,Utf 8,我从外部服务接收到一个字符串,其中包含一些utf8文本 $a = $param1; echo $a; \xe7\xe3 如何将$a(一个包含8个字符的utf8字符串)转换为“çã” 我知道我可以使用strtr和替换图,但我认为也许有更好的方法 简化示例,我有一个简单的网页: <?php echo '<html><body>'.$_GET['aa'].'</body></html>'; 使用评论中的提示,我得到了一个稍微不同的算法: fu
$a = $param1;
echo $a;
\xe7\xe3
如何将$a(一个包含8个字符的utf8字符串)转换为“çã”
我知道我可以使用strtr和替换图,但我认为也许有更好的方法
简化示例,我有一个简单的网页:
<?php
echo '<html><body>'.$_GET['aa'].'</body></html>';
使用评论中的提示,我得到了一个稍微不同的算法:
function decode_code($code){
return preg_replace_callback(
"@\\\(x)?([0-9a-f]{2,3})@",
function($m){
return utf8_encode(chr($m[1]?hexdec($m[2]):octdec($m[2])));
},
$code
);
}
什么是“çã”?你能不能用str_替换(array1,array2,$a)?@zairwolf:我可以用str_替换,但‘çã’只是一个例子。有几十个字符需要替换。@mins:utf8\u decode(或encode)只返回相同的字符串。我的整个应用程序都在使用utf-8。我没有领会你的意思,对不起,我希望这一个可以:@mins:这成功了。非常感谢。