PHP は中国語で文字化けします。Winodws と Linux で異なる方法で処理する方法についての質問があります。
-----ソリューションのアイデア----------------------オペレーティング システムの文字セット
Winodws GBK
Linux UTF-8
Web ページの文字セットがオペレーティング システムの文字セットと同じ場合、ファイル名をトランスコードする必要はありません
------解決策----------------------はい、普遍的なものなので、環境に応じて対応する
問題をユーザーに任せることはできない
たとえば、中国語のファイル名の問題がある場合、単純に $dir=iconv('UTF- 8','GB2312', $dir);
これを行うことができます:
設定ファイルに書き込みます
define('APP_CHARSET', 'UTF-8');
define('OS_CHARSET ', substr(PHP_OS, 0 , 3) == 'WIN' ? 'GBK' : 'UTF-8');
このように $dir=iconv('UTF-8','GB2312', $dir);
$dir=iconv('APP_CHARSET, OS_CHARSET, $dir);
これは一般化されています
さらに進むこともできます
function lang(&$str) {
return $str = iconv('APP_CHARSET, OS_CHARSET, $str);
}
プログラムでは、
lang($dir);
$path = lang($dir);
で次のことができます。完了します