中国語のファイル名を使用することはお勧めできません。
中国語は URL エンコードで送信されるため、サーバーに送信するときにデコードされますが、エンコードと一致しない場合はデコードされません。
簡単に言えば、URL 内の中国語は、一般的なブラウザではデフォルトで UTF-8 でエンコードされます。サーバーに送信してください。中国語 Windows 環境サーバーでは、URL をデコードするときに gb2312 エンコードがデコードに使用されるため、アドレス バーに入力した元の中国語テキストを取得できなくなります。
そのため、ファイル名が見つからないというメッセージが表示されます。
中国語を使用する必要がある場合、解決策はローカルのブラウジング ソリューションに限定されます。
ブラウザで、[インターネット オプション] メニューを開き、[詳細設定] を選択し、[検索] を選択します。 「UTF-8 URL を送信」して、前のフックを削除します。次に、確認します。
#ブラウザを再起動します。このようにして、アドレス バーの中国語はデフォルトで gb2312 エンコードで送信されるため、サーバーは中国語のファイル名を持つファイルを正しく見つけることができます。
使用された前の Web ページのグラフセットutf-8 とファイル また、utf-8 を使用し、fopen() を使用して中国語のファイル名を持つファイルを作成すると、問題が発生し、ファイル名が文字化けします。 多くのドキュメントを確認し、さまざまな方法を試しましたが、解決できませんでした。当初は他の方法を使用してこの問題を回避しようと考えていましたが、突然、Windows のデフォルトのテキスト エンコーディングが問題であることに気づきました。これを理解するには、作成したファイル名が文字化けしないように、Web ページも ANSI エンコードする必要があります。 その後、検証を開始しました。ANSI で Web ページを保存し、chartset ステートメントを削除しました。問題はありませんでしたが、Web ページのコンテンツが文字化けしました。後で、この Web ページには他の Web ページも含まれていることを思い出したので、インクルードを変更しました ウェブページも保存するために ansi に変更されました、笑すべてOKです プログラミングは本当に積み重ねに依存する仕事です。Windows のデフォルトのエンコーディングが ansi であることを知らなかったら、この問題は長い間解決されないでしょうps: < meta content ="text/html; charset=utf-8" http -equiv ="Content-type" > このメタ タグは次のようにする必要があります。以上がPHPのファイル名に漢字は入れられないのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。