欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-06-15 16:41:30
...
我原本文件编码和网页输出编码都是 utf-8 的,
但是遍历中文目录,一定要将编码转成gbk编码,结果得到的数据也是gbk编码的。


--------------------------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------------------------------------------------------------------------------------

但是我还是想用 utf-8编码输出网页,那就需要把 gbk编码转成 utf-8编码,我试了两个方法都不行。


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


回复讨论(解决方案)

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);
}

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