gpt4 book ai didi

php - mb_detect_encoding 将 ASCII 检测为 UTF-8?

转载 作者:可可西里 更新时间:2023-11-01 13:08:41 26 4
gpt4 key购买 nike

我正在尝试自动将导入的 IPTC 元数据从图像转换为 UTF-8,以便基于 PHP mb_ 函数存储在数据库中。

目前看起来是这样的:

$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 决定它是什么。但是当我意识到我不能确定其他编码不会对其他事物使用相同的字节值时,我中途停了下来。

那么,有没有办法正确检测 ASCII 以作为源编码提供给 mb_convert_encoding

最佳答案

指定自定义顺序(首先检测 ASCII)是可行的。

mb_detect_encoding($val, 'ASCII,UTF-8,ISO-8859-15');

为完整起见,可用编码列表位于 http://www.php.net/manual/en/mbstring.supported-encodings.php

关于php - mb_detect_encoding 将 ASCII 检测为 UTF-8?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16298639/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com