【发布时间】:2016-06-21 20:11:44
【问题描述】:
我在php中有以下代码
$test = "\151\163\142\156";
echo utf8_decode($test);
var_dump($test);
我得到以下结果:
isbn
string(4) "isbn"
我从包含 \151\163\142\156 文本的 txt 文件中获取一些文本
$all_text = file_get_contents('test.txt');
var_dump($all_text);
结果:
string(16) "\151\163\142\156"
我有以下问题:
如何对第二个文本进行 utf8 解码,以便获得 isbn 结果?
如何编码 isbn 以获得 \151\163\142\156 ?
编辑
(来自 cmets)
我用 iconv 和 encode 尝试了所有方法,但没有任何效果。 .txt 文件中的文本是 string(16) 而不是 string(4),所以我可以对其进行编码。 txt 文件是用西方 (ISO 8859-1) 编码从 sublime 中保存的
【问题讨论】:
-
认真的吗?
utf8_decode($all_text);?utf8_encode('WHAT YOU NEED')? -
那行不通。我得到相同的文本,而不是编码的文本。如您所见,第一个 $test 是 string(4),第二个是 string(16)
-
你解码第二个字符串吗?显示 DECODED
$all_text的输出 -
$all_text_utf8_decoded = utf8_decode(file_get_contents('test.txt'));和 php.net/manual/de/function.utf8-encode.php -
这有关系吗,因为
file_get_contents是文件的参考点,而不是数据本身的容器?