私の元のファイルエンコーディングと Web ページ出力エンコーディングは両方とも utf-8 です
ただし、中国語のディレクトリを移動するときは、エンコーディングを gbk エンコーディングに変換する必要があり、結果のデータも gbk エンコードされます。
--------------------------------------------- --- --------------------------------------------------- --- --------------------------------------------------- -
----- -------------------------------------- -------- -------------------------------------- -------- ----------------------------------
でも、まだ使いたいutf-8 エンコードで Web ページを出力するには、gbk エンコードを utf-8 エンコードに変換する必要があります。2 つの方法を試しましたが、うまくいきませんでした。
それでは、$pdf データを gbk から utf-8 に変換するにはどうすればよいでしょうか?
print_r($pdf) が の場合に Web ページが文字化けしないようにします。
foreach($pdf as $k => $v){ $pdf[$k]=iconv('gbk','utf-8',$v);}
問題は、両方の書き込み方法が無効になっていることです
foreach(glob($dir . $ext) as $v) $pdf[] = iconv('gbk', 'utf-8', $v);
foreach($pdf as $v){
$v = iconv('gbk ' , 'utf-8', $v);
}
$v を変更したばかりですが、$pdf は変更されていません。
こうなるはずです
foreach( &$pdf as $v){
$v = iconv('gbk', 'utf-8', $v);
後でこの問題も発見しました。
foreach($pdf as &$v){
......
}
と書き換えました。