解決策: 1. "name(fileName.getBytes("UTF-8"), "GBK")" ステートメントを使用してエンコーディング タイプを変換します。 2. "web.config" ファイルを構成して変更します。エンコードタイプを「utf-8」に変更するだけです。
このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
現在、より一般的なのは次のとおりです。 SWFUpload コントロールを使用します。このコントロールを使用してファイルをバッチでアップロードすると、中国語のファイル名がすべて文字化けしていることがわかりました。オンラインで長時間検索した結果、いくつかの方法が見つかりました。それらを次のようにまとめました。 1 つ目: fileName= new String(fileName.getBytes( "UTF-8"),"GBK");
この方法でほとんどの文字化けは解決できますが、文字化けがある場合は変換できない場合があります。ファイル名に特殊文字と句読点が含まれている。
2 番目: web.config 構成ファイルを構成します
swfupload は utf-8 に従ってエンコードされており、中国の Web サイトで一般的に使用されるエンコードは gb2312 です。sufupload プログラム ファイルを使用する必要があります。
ディレクトリ内の xml.comfig ファイルは次のとおりです:
<configuration> <appSettings/> <connectionStrings/> <system.web> <globalization requestEncoding="utf-8"/> </system.web> </configuration>
Flash の最新バージョン 11.8.800.168 や 11.9 などにはバグがあります。swfuploader を使用する場合は、アップロードしてアップグレード後に他のファイルをアップロードすると、コントロールをアップロードする際、ファイル名が中国語の場合、中国語の文字化けが表示されます。 swfuploadとuploadifyの公式Webサイトにあるデモでテストできます。
誤ってアップグレードしてしまった場合は、次の方法で問題を解決できます。
ここにアクセスしてインストール対策ファイルをダウンロードし、現在のバージョンのフラッシュをアンインストールします (他の方法でアンインストールしても問題は解決しません)古いバージョン(フラッシュ コントロールのバージョン)をインストールできます): http://download.macromedia.com/get/flashplayer/current/support/uninstall_flash_player.exe
ここに移動して、比較的古いバージョンをダウンロードしますそれをインストールします (他の場所 (ここからダウンロードすることもできます): http://file.myfiles.com.cn/Photo/FlashPlayer_v118800129X.zip
推奨: 「
2021 PHP 面接の質問」概要 (コレクション) >>《php ビデオ チュートリアル》
以上がPHPでswfuploadが文字化けする場合の対処法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。