プロが教える店舗&オフィスのセキュリティ対策術

初めまして、PHP初心者です。
PHPで現在、日報を書き込むプログラムを作っています。
目的としては、書き込んだ日報をDBに登録させるというプログラムです。
その中で、HTMLのフォームで入力した日本語の文章や文字列をブラウザに出力させるにはどうしたら良いのでしょうか?
普通にprintで出力させると、文字化けをしてしまい困っております。
環境は、OSはLinux、PHPVer.3、DBはPostgreSQLです。

よろしくお願いいたします。

A 回答 (4件)

PHP3はi18nの国際化バージョンでしょうか?


基本的にi18nでないPHPのときはEUCでないと文字化けすると思います。i18nでもconfigureのときに--enable-i18nを指定しないとi18nになりません。

i18nだとすると、ソースの文字コードは何でかいてありますか?php.iniの中で出力する文字コードを指定してやる必要があります。具体的には
i18n.http_output = SJIS
のように指定します。
または、ソースの中でprint(あるいはecho)で出力する前の部分で
i18n_http_output(文字コード)
で出力する文字コードを指定してやればそれ以降その文字コードで出力されます。
    • good
    • 0
この回答へのお礼

お返事遅くなりまして、申し訳ありません。
只今、違う仕事が急に入ってしまい、お教えくださったこと試せていませんが、アドバイスありがとうございます。
時間が出来たら試してみたいと思います。

お礼日時:2001/05/15 14:17

データを日本語EUCにしてDBへ登録し、


日本語EUCとして出力してみて下さい。

又、出力する際は、
header("Content-Type: text/html; charset=EUC-JP");
として文字コードを明示的に指定する方法もあります。

※これらの方法では、ソースコード自身も日本語EUCに
する必要があります。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
一応、EUCの設定にはしています。
もう一度、よく見直してみます。
ありがとうございました。

お礼日時:2001/05/29 17:49

HTMLまたはプログラムを書くときの文字コードがあっていないのでは?


HTMLでのMETAタグで
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
を入れていますでしょうか?
printのほかに<?php echo $NAME; ?>などの
方法もあります。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
タグの中で文字コードの指定はしています。
EUC-JPにしようが、Shift-JISにしようが、文字化けは変わりませんでした。echoも試したのですが、ダメでした。

お礼日時:2001/05/09 10:04

文字コードが違うとかそういうものではないでしょうか?


一度出力してきたページの文字コードを変更してみては
どうなりますか?

ではでは☆
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
出力したページの文字コードを変更しても文字化けは変わりませんでした。

お礼日時:2001/05/09 10:02

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!