2

我在 SO 上阅读了一些答案,但没有找到答案,是否可以在 php.ini 中为二进制数据设置 ANSI endocing。我正在使用 curl 读取图像并将它们回显给用户,但它们保存为 UTF-8,并且不显示图像。当我将它保存为服务器上的文件(使用 fopen fwrite)并打开该文件时,一切正常,就像我在 Notepad++ 中将编码更改为 ANSI 一样。现在我正在 Windows 上测试它,但它也应该在 Unix/Linux 机器上工作。是否可以在 php 中执行此操作?这与我的另一个问题有关如何在 php中显示来自 curl 的二进制数据,但我没有找到解决方案。

我尝试使用mb_detect_encoding函数来使用,iconv但它不会在我测试它的本地主机上返回任何内容。

我不知道它是否需要是 Windows-1252,它在我认为不应该将不同数据发送到不同浏览器的服务器上工作。

4

1 回答 1

0

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

$string = iconv(mb_detect_encoding($string), 'Windows-1252//TRANSLIT', $string);
于 2019-02-14T15:51:05.533 回答