但是遍历中文目录,一定要将编码转成gbk编码,结果得到的数据也是gbk编码的。
--------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------
但是我还是想用 utf-8编码输出网页,那就需要把 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);
}
$v = iconv('gbk', 'utf-8', $v);
}
你这样只是修改了$v,$pdf并没有修改。
可以该成这样.
foreach( &$pdf as $v){
$v = iconv('gbk', 'utf-8', $v);
}
#4
3楼说的对
后来我也发现了这个问题了。
我改写成
foreach($pdf as &$v){
............
}
就样行了。
后来我也发现了这个问题了。
我改写成
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);
}
$v = iconv('gbk', 'utf-8', $v);
}
你这样只是修改了$v,$pdf并没有修改。
可以该成这样.
foreach( &$pdf as $v){
$v = iconv('gbk', 'utf-8', $v);
}
#4
3楼说的对
后来我也发现了这个问题了。
我改写成
foreach($pdf as &$v){
............
}
就样行了。
后来我也发现了这个问题了。
我改写成
foreach($pdf as &$v){
............
}
就样行了。