中国語の文字がデータベースに保存され、取り出された後に文字化けしてしまう場合があります。この問題を解決するには、urlencode と urldecode の 2 つの関数を使用できます。たとえば、
$statuses=M('information_sheet')->where(array('Id'=>$newsid))->field('List_ID,Id,CreateDate,Theme,pic_urls')->find();Meテーブルinformation_sheeからList_ID、Id、CreateDate、Theme、pic_urlsのデータを取り出し、Themeフィールドのデータを何も処理せずに直接echo json_encode()を出力すると、
のように文字化けが発生します。$statuses[0]['Theme']=urlencode($statuses[0]['Theme']); urlencode を使用して中国語をエンコードします
出力時:
echo urldecode(json_encode($statuses)); urldecode を使用してデコードすると、正しい中国語
を取得できます。