ホームページ  >  記事  >  バックエンド開発  >  PHPでダウンロードした中国語ファイルが文字化けする問題を解決する方法

PHPでダウンロードした中国語ファイルが文字化けする問題を解決する方法

藏色散人
藏色散人オリジナル
2020-11-17 09:31:022884ブラウズ

php からダウンロードした中国語ファイルが文字化けする場合の解決策: 1. ページ エンコーディングを utf8 に変更します; 2. 中国語 URL を Urlencode し、UA に基づいて検出して、差別化されたダウンロードを実現します。

PHPでダウンロードした中国語ファイルが文字化けする問題を解決する方法

推奨: 「PHP ビデオ チュートリアル

PHP ヘッダーのダウンロード ファイルの名前が IE で中国語で文字化けするファイル名の問題

はじめに: PHP ヘッダーをダウンロードしたファイルの IE ファイル名の中国語文字化けの問題を解決するには、一般的に 2 つの方法があります。1 つはページ エンコーディングを utf8 に変更することです。もう 1 つは、中国語の URL の urlencode エンコードを入力することです。UA 検出によると、さまざまなダウンロードを解決できます $filename = " Chinese.

IE でダウンロードされた PHP ヘッダー ファイルの中国語の文字化けファイル名を解決するには、次の方法があります。よくある問題は 2 つあります。1 つはページ エンコーディングを utf8 に変更すること、もう 1 つは中国語の URL に urlencode エンコーディングを入力することです。UA 検出によると、さまざまなダウンロードは解決できます。

$filename = "中文.txt";
$ua = $_SERVER["HTTP_USER_AGENT"];
$encoded_filename = urlencode($filename);
$encoded_filename = str_replace("+", "%20", $encoded_filename);
header('Content-Type: application/octet-stream');
if (preg_match("/MSIE/", $ua)) {
    header('Content-Disposition: attachment; filename="' . $encoded_filename . '"');
} else if (preg_match("/Firefox/", $ua)) {
    header('Content-Disposition: attachment; filename*="utf8''' . $filename . '"');
} else {
    header('Content-Disposition: attachment; filename="' . $filename . '"');
}

以上がPHPでダウンロードした中国語ファイルが文字化けする問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。