PHP のファイルシステム関数での UTF-8 ファイル名の処理
PHP の mkdir 関数を使用して UTF-8 文字を含むフォルダーを作成すると、次のようなメッセージが表示される場合がありますエンコーディングによる Windows エクスプローラーの問題
解決策: URL エンコード ファイル名
この問題を解決するには、urlencode 関数を使用して、目的のフォルダー名を URL セーフ形式に変換してから、フォルダー名を URL に渡します。 mkdir:
$dir_name = urlencode("Depósito"); mkdir($dir_name);
これにより、フォルダー名のすべての文字が有効な文字列にエンコードされます。すべてのオペレーティング システムのファイル名。元の UTF-8 ファイル名を取得するには、urldecode を使用します。
代替ソリューション (注意事項あり)
URL エンコードが推奨されるソリューションですが、あまり魅力的ではない代替手段もあります。
ISO-8859-1 に変換 (Windows)のみ)
Windows では、UTF-8 ファイル名を使用できますが、非 ASCII 文字は PHP の外部では正しく表示されないことに注意してください。これに対処するには、ファイルシステム関数で使用する前に、utf8_decode を使用してファイル名を ISO-8859-1 に変換します。
ISO-8859-1 文字に制限します
または、次のようにします。ファイル名を ISO-8859-1 で表現できる文字に制限します。ファイル名を UTF-8 と ISO-8859-1 の間で変換するには、utf8_decode と utf8_encode を使用します。
ただし、これらの代替方法には次の注意事項があります。
以上がPHP のファイルシステム関数で UTF-8 ファイル名を処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。