gpt4 book ai didi

php - utf8 表示为普通文本

转载 作者:行者123 更新时间:2023-12-02 05:20:45 26 4
gpt4 key购买 nike

$text = "\xd0\xa2\xd0\xb0\xd0\xb9\xd0\xbd\xd0\xb0";
$text = iconv('UTF-8', 'UTF-8//IGNORE', $text);
var_dump($text); //Тайна - good
$text = file_get_contents('log.txt');
$text = iconv('UTF-8', 'UTF-8//IGNORE', trim($text));
var_dump($text); // \xd0\xa2\xd0\xb0\xd0\xb9\xd0\xbd\xd0\xb0 - bad

为什么如果从文件 iconv 读取字符串 \xd0\xa2\xd0\xb0\xd0\xb9\xd0\xbd\xd0\xb0 不起作用以及如何修复它?

最佳答案

字符串文字和文件中的文本不等价。 $text 已经是 utf-8 (Тайна) 并且 iconv 对它没有任何作用。这是因为你使用 escape sequences将实际的二进制值放入字符串中。文件 \xd0\xa2\xd0\xb0\xd0\xb9\xd0\xbd\xd0\xb0 中的数据未转义,因为它是从文件中读取并存储在变量中,因此它不是字符串文字。试试这个来转换数据

$text = file_get_contents('log.txt');
$text = str_replace('\x', '', trim($text));
$text = pack('H*', $text);
var_dump($text);

关于php - utf8 表示为普通文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13890370/

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