ASCII 编码的 unicode 到 SQL 语句 PHP 和 mb_convert_encoding

ASCII encoded unicode to SQL statement in PHP with mb_convert_encoding

我正在使用仅由 ASCII 字符组成的文件类型。其他字符被编码。两个字节字符前面是 \X2\ ,后面是 \X0\ ,四个字节字符使用 \X4\\X0\ 。我可以很容易地找到这些,但我不确定如何处理它们。

例如字符 ø 被指定为 \X2[=18=]F8\X0\.

我正在寻找的整个字符串是 100 mm\X2[=19=]F8\X0\

我怎样才能把它变成一个字符串,然后我可以说插入到我的数据库中?

我想我需要使用 mb_convert_encoding()

但我不确定我要使用哪种编码。

有什么想法吗?

简单地说,我有“100 mm\X2[=37=]F8\X0\”,我想将其输出为“100 mmø”

这取决于 SQL 您使用的服务器。例如对于 MySQL 你可以使用 mysqli_real_escape_string

此方法会自动从您的 sql 连接中获取编码,因此可以安全使用。

我会传递原始值 100m ø。

所以我只需要 hex2bin('00F8')

然后utf8_encode(...)将其从utf-16转换为utf 8