如何在PHP中将字符串转换为UTF-8编码

4
我可以帮助您将普通字符串转换为UTF-8编码的函数或简单算法。
例如: 字符串:
hello
عربي

UTF-8编码:

68 65 6C 6C 6F 0A 0639 0631 0628 064A 0A

尝试使用 iconv(mb_detect_encoding($text, mb_detect_order(), true), "UTF-8", $text); - GBD
1
将任何字符串转换为UTF-8,而不知道原始字符集或语言的方法是什么? - VDP
iconv(mb_detect_encoding($text, mb_detect_order(), true), "UTF-8", $text); 有用的链接:-https://dev59.com/Zmsz5IYBdhLWcg3wVGEy - Ankur Saxena
5个回答

12

1
utf8_encode($data) 只能用于 ISO-8859-1 编码。根据问题中的描述,文本可能是以 "windows-1256" 编码的形式存在。最简单的解决方法是使用 iconv("windows-1256","utf-8",$txt); - Salem

10

使用iconv,如下所示:

$text = iconv(mb_detect_encoding($text, mb_detect_order(), true), "UTF-8", $text);

这也可以检测字符串当前的字符集。


4

2

如果您想在阿拉伯语中使用它

您可以使用阿拉伯语PHP库: http://ar-php.org/


1

试一下这个:

...
$somStr = 'Hello';
utf8_encode_deep($somStr); // Converting string to utf8
print_r($somStr);
...

有关utf8_encode_deep()的更多详细信息,请参见this

希望它能解决这个问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接