foreach の文字化け
問題は次のとおりです:
$load_list は user_name の値の最初の 2 文字を取り出してアスタリスクに置き換えます。ただし、中国語の文字が発生すると文字化けが発生します。 header() 関数も機能しません。解決策を見つけてください。ありがとうございます。
foreach($load_list as $k=>&$v){
$temp=&$v['user_name'];
for($i=0,$len=strlen($temp);$i< $len;$i++){
if($i>1){
$temp[$i]='*';
}
}
}
スクリーンショットは次のとおりです:
ディスカッションに返信 (解決策)
コードはシングルバイト文字列でのみ機能し、
中国語 gbk 1 文字 2 バイト
中国語 utf-8 1 文字 3 バイト
mb_substr 関数を試してください