質問
- PHP foreach 表示されない?????
-
本文:
PHPの本を見ながら勉強です。
foreachの勉強で、
要素を取得した変数を表示する
極簡単なものですが、
$a = array(1,2,3);
foreach($a as $b){
print "$b";}
まぁ簡単なもので表示したので、
普通に教科書通りのキーワードだとつまらない…
なんて事で
わざとアホなキーワードをチョイスしたのですが、
どうも表示が変なんです。
$a = array (
'baka' => '馬鹿',
'aho' => '阿呆',
'dozi' => 'ドジ',
'sukebe' => 'スケベ',
'tonnma' => 'トンマ',
'manuke' => '間抜け',
'kuso' => 'クソ',
'kasu' => 'カス',
'sine' => '死ね');
foreach ($a as $key => $b){
print "$key は $b<br>\n";}
これでやると、自分のレンサバでは表示されません。
色々調べると
>'kuso' => 'クソ',
に問題があるらしくコメントアウトすると、
表示されます。
さらに調べると『ソ』の部分が怪しく、
ソの後に空白とか前後に文字を入れると
表示されたりします。
PHPはシフトジスでアップしましが、
ソ単体だと言語的に何かおかしいのでしょうか???
- 緊急度:通常投稿者:kensakuさん投稿時間:2013/09/05 16:26
回答 No.2070
-
本文:
5c 漢字
で検索。
---------
PHPのファイルをUTF-8で保存して処理するほうが
今では一般的だと思います。 - 投稿者:k-tanさん 投稿時間:2013/09/06 14:17
質問者からのコメント
色々判りました!
回答 No.2069
この回答がベストアンサーです
UTF-8を使えるのなら、そちらを使たほうが良いかと思います。
UTF-8なら、(たぶん)エラーにならないと思います。
■
SiftJISの場合は、2バイト文字の2バイト目が「5C」になる場合は
質問文のようなことになります。
表、ソとかそういう文字
■
対策方法
'kuso' => 'クソ\',
そういう文字の場合は、その文字の後ろに\(半角)を付ければOKだったはずです。
質問者からのコメント
回答ありがとうございます。
そういう理由ですか。
そういう文字化け表と言うか、
その手の件について、何てキーワードで検索すると
調べきれるのでしょうか?
普通に検索すると色んなものが引っかかって、
ちょっと調べづらいです・・・