我需要使用特殊的ISO-8859-15字符將文件寫出到磁盤。對於我自己的測試目的,我用:PHP:如何使用Unicode字符將文件寫入磁盤
- ©®±àáâãäåæÒÓÔÕÖ¼½¾§μçðþú-.JPG
...但破折號,短破折號,以及1/2,1/4,當文件被寫入到具有該名稱的磁盤時,3/4部分被替換爲垃圾,而文件名中的其他字符被正確寫出。爲什麼有些而不是其他?
這是一個很簡單的PHP腳本來寫出一個文件,其名稱中只有版權符號和em-dashes。當我運行它,將字符串寫入文件正確,但文件名的長劃線與垃圾代替:
<?php
// First, create a text file with the em-dash and the copyright symbol, then put the file prefix into the file:
$filename1 = "000—©—©.txt";
$content1 = "000—©—©";
file_put_contents($filename1, $content1);
?>
什麼是最有效和最優雅的方式來做到這一點使用PHP(或JavaScript)?我只針對ISO-8859-15字符集。
非常感謝! 湯姆
確保您使用保存PHP文件將在你的目標字符集或這個東西保存的文本編輯器會瞬間都被轉換爲ASCII垃圾只是節省了PHP代碼的行爲。 – developerwjk 2015-02-12 00:06:18
在ISO-8859-15編碼中不存在'--¼½¾'字符。他們使用類似的Windows代碼頁1252編碼,而分數則使用類似的ISO-8859-1編碼。 ISO-8859-15很少使用。 – bobince 2015-02-12 11:10:50