php の foreach コード文字化けの解決策: 1. ブラウザからエンコード形式を utf-8 に変更します; 2. プログラムでエンコード形式を指定します。コードは "header('Content-Type: text/ html; charset="utf-8"')"。
#この記事の動作環境: Windows7 システム、PHP7.1、Dell G3 コンピューター。
具体的な質問:
php foreach ループのデータがすべて文字化けしています。どうすれば解決できますか?
これはコードです
<?php $link = mysql_connect("localhost", "root", "") or die("Could not connect: " . mysql_error()); mysql_query("set names utf-8;"); mysql_query("SET character_set_connection='utf-8', character_set_results='utf-8', character_set_client='utf-8'"); $sql="select * from baoming.baimingbiao"; $aa=mysql_query($sql); $v = mysql_fetch_array($aa); if(is_array($v)) { foreach($v as $k=>$r) { $aaa .="<table>"; $aaa.="<tr><td>".$r['name']."</td><td>".$r['dianhua']."</td><td>".$r['xingbie']."</td><td>".$r['youxiang']."</td><td>".$r['danwei']."</td><td>".$r['zhiye']."</td><td>".$r['hjhhy']."</td><td>".$r['zhusu']."</td><td>".$r['shouji']."</td><td>".$r['yjje']."</td><td>".$r['yfje']."</td><td>".$r['ddbz']."</td><td>".$r['fjbz']."</td><td>".$r['ddbz']."</td><td>".$r['fjbz']."</td><td>".$r['beizhu']."</td><td>".$r['yewuyuan']."</td><td>".$r['fjh']."</td></tr>"; } $aaa .="</table>"; echo $aaa; exit; $handle = @fopen('./c.xls', 'w'); if($handle) { if(@fwrite($handle, $aaa)) { echo '1'; } else { echo "0"; } fclose($handle); @header("location:xls_bu.php"); } } ?>
解決策:
ブラウザからエンコード形式を utf-8 に変更して、それが正しいかどうかを確認してください。プログラム内でエンコード形式を指定するだけで文字化けはしません。
header('Content-Type: text/html; charset="utf-8"')
推奨: 「PHP ビデオ チュートリアル 」
以上がPHPのforeachコードが文字化けした場合の対処法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。