【发布时间】:2018-09-26 23:07:14
【问题描述】:
我正在尝试像这样对文件内容进行编码:
$f_file = fopen("dreams.txt", "w");
$string = "Los sueños se cumplen.";
$string_encoded = iconv( mb_detect_encoding( $string ), 'Windows-1252//TRANSLIT', $string );
fwrite($f_file, $string_encoded);
fclose($f_file);
如果 $string 包含特殊字符,例如“ñ”或“á”,则文件将保存为 Windows-1252 编码,但如果 $string 不包含他们,文件被编码为UTF-8。我需要使用 Windows-1252 编码的文件。
我做错了什么?
【问题讨论】:
-
一个真正重要的问题:是什么让您声称它“编码为 UTF-8”?你用什么来检查?
-
我正在使用 Sublime Text 和 NotePad++ 打开文件。编码显示在那里。
-
感谢您提供的信息,@Mike'Pomax'Kamermans!
-
让我把它变成一个答案,因为基本上就是这样。
-
“编码显示在那里”:为了清楚起见,显示的编码是它可能的几十种编码之一。实际编码是您在写入文件时选择的编码。
标签: php iconv windows-1252