PHP遍历中文目录的gbk编码和utf-8编码之间如何转换

时间:2023-01-05 22:12:57
我原本文件编码和网页输出编码都是 utf-8 的,
但是遍历中文目录,一定要将编码转成gbk编码,结果得到的数据也是gbk编码的。


PHP遍历中文目录的gbk编码和utf-8编码之间如何转换
--------------------------------------------------------------------------------------------------------------------------------------------
PHP遍历中文目录的gbk编码和utf-8编码之间如何转换
--------------------------------------------------------------------------------------------------------------------------------------------

但是我还是想用 utf-8编码输出网页,那就需要把 gbk编码转成 utf-8编码,我试了两个方法都不行。
PHP遍历中文目录的gbk编码和utf-8编码之间如何转换

所以这个我要怎么才能把 $pdf 的数据由 gbk 转成 utf-8 呢?
使得 print_r($pdf) 在<meta charset = "utf-8"> 情况下网页不乱码。

4 个解决方案

#1



foreach($pdf as $k => $v){
    $pdf[$k]=iconv('gbk','utf-8',$v);
}

#2


问题在于你的两个写法都是残废的

foreach(glob($dir . $ext) as $v) $pdf[] = iconv('gbk', 'utf-8', $v);

#3


foreach($pdf as $v){
    $v = iconv('gbk', 'utf-8', $v);
}

你这样只是修改了$v,$pdf并没有修改。

可以该成这样.

foreach( &$pdf as $v){
    $v = iconv('gbk', 'utf-8', $v);
}

#4


3楼说的对
后来我也发现了这个问题了。
我改写成
foreach($pdf as &$v){
  ............
}
就样行了。

#1



foreach($pdf as $k => $v){
    $pdf[$k]=iconv('gbk','utf-8',$v);
}

#2


问题在于你的两个写法都是残废的

foreach(glob($dir . $ext) as $v) $pdf[] = iconv('gbk', 'utf-8', $v);

#3


foreach($pdf as $v){
    $v = iconv('gbk', 'utf-8', $v);
}

你这样只是修改了$v,$pdf并没有修改。

可以该成这样.

foreach( &$pdf as $v){
    $v = iconv('gbk', 'utf-8', $v);
}

#4


3楼说的对
后来我也发现了这个问题了。
我改写成
foreach($pdf as &$v){
  ............
}
就样行了。