ホームページ >バックエンド開発 >PHPチュートリアル >PHP で UTF-8 ファイル名を持つディレクトリを安全に作成するにはどうすればよいですか?
UTF-8 文字列を使用した PHP ファイルシステム関数の利用
PHP では、ファイルシステム関数を操作するときに UTF-8 文字列を処理すると、課題が生じる可能性があります。次のシナリオを考えてみましょう:
$dir_name = "Depósito"; mkdir($dir_name);
この例では、「Depósito」という名前のフォルダーを作成しようとします。ただし、Windows エクスプローラーで表示すると、フォルダー名が「Depósito」と表示され、UTF-8 以外の文字が歪んで表示されます。
解決策: UTF-8 文字列の Urlencoding
この問題を解決するには、文字列をファイルシステム関数で使用する前に URL コード化することをお勧めします。 Urlencoding により、すべての文字が有効な形式に変換されます。
$dir_name_encoded = urlencode("Depósito"); mkdir($dir_name_encoded);
文字列を urlencoding することにより、非 UTF-8 文字がエンコードされた対応する文字に変換され、正しい名前でフォルダーを作成できるようになります。 .
考慮事項
urlencoding は効果的ですが、
代替ソリューション (あまり望ましくない)
その他のあまり望ましくない解決策は次のとおりです。
注意事項:
音訳:
In UTF-8 との互換性が不可欠な場合は、文字変換を使用して非 ASCII 文字をターゲットと互換性のある同等の ASCII 文字に変換することを検討してください。ファイルシステム。
以上がPHP で UTF-8 ファイル名を持つディレクトリを安全に作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。