我正在尝试将导入的 IPTC 元数据从图像自动转换为 UTF-8,以便基于 PHPmb_
函数存储在数据库中。
目前它看起来像这样:
$val = mb_convert_encoding($val, 'UTF-8', mb_detect_encoding($val));
但是,当mb_detect_encoding()
提供 ASCII 字符串(Latin1 字段中 192-255 中的特殊字符)时,它会将其检测为 UTF-8,因此在以下尝试将所有内容转换为正确的 UTF-8 时,所有特殊字符都将被删除。
我尝试通过查找 Latin1 值来编写自己的方法,如果没有发生,我将继续mb_detect_encoding
决定它是什么。但是当我意识到我不能确定其他编码不会对其他事物使用相同的字节值时,我中途停了下来。
那么,有没有办法正确检测 ASCIImb_convert_encoding
作为源编码?