如何使用Iconv将任何可能的格式转换为UTF-8?

Rel*_*lla 7 php utf-8 iconv

所以例如这将把1251变成utf-8.

$utf8 = iconv('windows-1251', 'utf-8', $ansi);
Run Code Online (Sandbox Code Playgroud)

但是如何将未知(当涉及到我们时,我们还不知道它是什么格式)(通常是任何)格式(可能是由Iconv知道)到utf-8?(代码示例)

sou*_*rge 8

你不能从一个未知的字符集翻译,你可以做的最好的事情是猜测实际的字符集并使用该猜测作为第一个参数 - 你可以mb_detect_encoding()用于此目的.

  • mb_detect_encoding仅限于UTF-8和UTF-7,ASCII以及一堆日文字符集.它不适用于一般情况,也不能,因为没有办法对单字节字符集这样做 - 它需要大量的上下文分析,而这实际上是不可行的.如果您需要支持任意字符集,则需要向您提供信息 - 或者如果未给出输入,则定义单个合理的回退,而不是UTF-8. (4认同)