• 締切済み

PHP3の文字化け

PHP3について質問です。 php4でprint "<td>$value</td>\n";するとうまく表示されるのですが、php-3.0.18-i18n-ja-3だと文字化けしてしまいます。"輔"や"子"などです。解決策を探しています。お願いします。

みんなの回答

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.2

多分テキストの文字コードとPHPの文字コードがあってないように思えます。 そこだけ文字化けする場合は \ でエスケープしてみたらどうなりますでしょうか? 総\輔 とか。 マルチバイト関数は PHP3で使えないような気がしたんですが、気のせいでしょうか? 使えるんでしたら、文字コードを合わせてみてください。

ataunagi
質問者

お礼

2度のアドバイスありがとうございました。 結論としてはPHP3は日本語がうまくつかえないんだと思う事にしました。 4に変わる予定があるのでそれまでは力技でいこうとおもいます。どうもでした。

ataunagi
質問者

補足

"\"をいれると"\・/td>"となりました。 マルチバイト関数は3では使えないみたいです。 phpとずれるかもしれませんが、秀丸のデフォルトをEUCにしてあって、そこにshift_jisのテキストをコピペしたのですが、そんなやりかたでは文字コード変換できないのでしょうか?php4だとマルチバイト関数つかわずとも何事もなく表示されるので違うと思っていたのですが。 テキストの文字列の最初と最後にコメント<!---->付け足すときちんと表示されると言う事はやっぱり文字コードですよね・・。

すると、全ての回答が全文表示されます。
  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.1

print "<td>" .$value ."</td>\n"; としたらどうなります?

ataunagi
質問者

お礼

文字化けする文字と言うのは"輔"等なのですが、試してみたところ"輔"の部分は"・"になりました。教えていただいた方法の前の文字化けの仕方は、"輔"だと"・/td>" "内田"だと"眦・"なりました。 $valueの値は、txtを読み込んだ値なのですが、回避策として読み込む前のtxtの時点で文字化けする文字の前後に"<!---->"コメントをいれています。 文字コードの変換がうまく行ってないのでしょうか?もともとshift_jisのtxtを秀丸でeucにしています。phpもeucです。 よろしくおねがいします。

すると、全ての回答が全文表示されます。

関連するQ&A