繁体   English   中英

PHP iconv从utf-8到Windows-1252,无特殊字符

[英]PHP iconv from utf-8 to windows-1252 with no special characters

我正在尝试像这样编码文件内容:

$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编码的文件。

我究竟做错了什么?

ASCII,ANSI(ISO-8859-1),Windows-1252和UTF8中使用的前127个字符都相同,因此仅通过查看仅包含该字符的文档就无法分辨出“ the”编码是什么设置:它们都同样适用。

现代编辑器会看到这种情况,并说“现在是2018年,所以我要告诉你它是UTF8”,他们甚至不会错:在添加这些特殊字符之前,所有这些编码方案都是可以互换的。 直到您引入更高的字节码字符,您才必须明确说明编码的含义。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM