如何在php中强制ANSI编码二进制数据

问题描述 投票:2回答:1

我在SO上读了几个答案,但没有找到答案,是否可以在php中为二进制数据设置ANSI endocing。我正在使用curl读取图像并将其回显给用户,但它们保存为UTF-8,并且不显示图像。当我将它保存为服务器上的文件(使用fopen fwrite)并打开该文件时,一切正常,就像我在Notepad ++中将编码更改为ANSI一样。现在我正在Windows上测试它,但它也适用于Unix / Linux机器。有可能在PHP中这样做吗?这与我的其他问题How to display binary data from curl in php有关,我没有找到解决办法。

我尝试使用mb_detect_encoding函数与iconv一起使用,但它不会在我测试它的localhost上返回任何内容。

我不知道它是否需要是Windows-1252,它可以在我认为不应该向不同浏览器发送不同数据的服务器上运行。

php image binary ansi
1个回答
0
投票

由于PHP“字符串”是二进制数据,因此您首先要对字符串数据进行编码,然后将该数据作为整体插入到二进制数据中(这只是PHP中的一个字符串)。

$string = iconv(mb_detect_encoding($string), 'Windows-1252//TRANSLIT', $string);
© www.soinside.com 2019 - 2024. All rights reserved.