たとえば、私はこのようなファイル名を持っています - проба.xmlと私はPHPスクリプトから開くことができません。名前にUnicode文字を含むファイルをPHPで開くには?
私はのfile_get_contentsにこれを渡すときにスクリプト内のすべてのテキストよりもUTF-8にあるように、私のセットアップのPHPスクリプトは、このようにUTF-8の場合:
$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文字列を受け入れることができないので、エラーが解消されない:OKので、私はこれを試してみましたか?
このコードは現在のものですか? file_get_contentsに$ fnameと$ resを入れ替えていないのですか? – ryanday
これは私のタイプミスです。私は実際に値を切り替えました。 –
私は私のXPシステムに乗ってあなたのコードを試しました。私はユニコードでPHPファイルを保存し、あなたが書いたものをコピー/貼り付け、ファイルを読むことができます(同じファイル名)。あなたのソースファイルはどのようなエンコードに保存されていますか? – ryanday