例如我有一個像這樣的文件名 - проба.xml,我無法從PHP腳本中打開它。如何在名稱中包含unicode字符的PHP中打開文件?
如果我安裝PHP腳本使用UTF-8比在腳本中的所有文本是utf-8這樣當我通過這的file_get_contents:
$fname = "проба.xml";
file_get_contents($fname);
我得到錯誤文件不存在。原因是在Windows(XP)中,所有帶非拉丁字符的文件名都是unicode(UTF-16)。行,所以我嘗試這樣做:
$fname = "проба.xml";
$res = mb_convert_encoding($fname,'UTF-8','UTF-16');
file_get_contents($res);
但錯誤依然存在,因爲的file_get_contents不能接受Unicode字符串...
有什麼建議?
此代碼是否爲最新版本?您沒有在file_get_contents中將$ fname與$ res切換,還是僅僅是一個錯字? – ryanday 2009-06-10 19:37:17
這是我的錯字。我確實切換了值。 – 2009-06-10 22:02:32
我到了我的XP系統並嘗試了你的代碼。我用unicode保存了PHP文件,並複製/粘貼了你寫的內容,並且可以讀取該文件(相同的文件名)。什麼編碼是你的源文件保存在? – ryanday 2009-06-11 00:56:33