php在编码之间正确转换

php在编码之间正确转换,php,unicode,Php,Unicode,我刚刚花了3个小时在我的一个页面上查找一个显示问题。文本乱七八糟。问题是在现有的utf8字符串上使用了utf8\u encode。它只能转换ISO-8859-1。为什么它有这样一个误导性的名字/咆哮 PHP中检测和转换编码的正确、不易出错的方法是什么?或者,取决于服务器上安装的内容。(默认情况下,iconv已启用,但mbstring未启用。)如果字符串已经是utf-8,则不需要utf8\u encode()。事实上,它将产生垃圾,因为字符串将被编码两次。什么都不做,一切都好“为什么会有这样一个{

我刚刚花了3个小时在我的一个页面上查找一个显示问题。文本乱七八糟。问题是在现有的utf8字符串上使用了
utf8\u encode
。它只能转换ISO-8859-1。为什么它有这样一个误导性的名字/咆哮


PHP中检测和转换编码的正确、不易出错的方法是什么?

或者,取决于服务器上安装的内容。(默认情况下,iconv已启用,但mbstring未启用。)

如果字符串已经是utf-8,则不需要
utf8\u encode()
。事实上,它将产生垃圾,因为字符串将被编码两次。什么都不做,一切都好“为什么会有这样一个{误导、不一致、误导的}{名称、实现、文档}?”好问题。我看不出utf8_编码会如何误导人们认为它将用于已经进行UTF-8编码的内容……看来我可以通过使用iconv及其音译一箭双雕。它如何处理格式错误的字符串?标准\ufffe替换?使用格式错误的字符串(我猜您指的是无效符号),它在该点剪切字符串并生成
E_通知
错误。如果将
//IGNORE
附加到目标编码名称,它将忽略无效符号。