人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

質問です。
PHPで問い合わせフォームを作りました。
フォームから問い合わせを受信すると文字化けしてしまいます。
SHIFT JIS
JIS
EUC-JP
などは皆さんどれをおつかいでしょうか?教えて下さい。
宜しくお願いします。

●質問者: kasai-de_eb
●カテゴリ:インターネット ウェブ制作
✍キーワード:EUC-JP JIS PHP 作りました 文字化け
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● kn1967
●20ポイント

http://ja.wikipedia.org/wiki/EUC-JP

WEBサーバーのシェア的にはUNIX系が大勢を占めているので

出来ればEUC-JPに統一したいところではあるのですが

開発環境としてはWindowsが多いので実情はShift-JISで書く事が多いです。

(Windows上で動くエディタでもEUC-JPに対応したものは多いのですが

作業する全ての環境にある訳でもないので・・・)


以上のような簡単な回答でよろしいのでしょうか?

プログラムソースで使うコードと

データベースで使うコードは何をお使いでしょうか?

といったような形式のアンケートを取った方が安上がりだったのでは・・・?


2 ● tezcello
●20ポイント

PHPの内部処理エンコード、httpdのヘッダ情報、実際に出力しようとしている書類のエンコード、PHPがhttp入出力する際の自動変換などが絡み合ってきます。

僕はスクリプトの始めの方で

set_magic_quotes_runtime(false);

ini_set('mbstring.http_input', 'pass');

ini_set('mbstring.http_output', 'pass');

mb_language('ja');

mb_internal_encoding('UTF-8');

mb_regex_encoding('UTF-8');

を決り文句としていれています。

UTF-8にしているのは、最近XMLを扱う事が多いからで、サーバマシンのロケールに従って設定するのが良いかも知れません。

(例えば、EUCとか)


それぞれの内容はこちらを参考にどうぞ。

http://www.php.net/manual/ja/ref.mbstring.php

以下の値が影響するそうです。

mbstring.language

mbstring.detect_order

mbstring.http_input

mbstring.http_output

mbstring.internal_encoding

mbstring.script_encoding

mbstring.substitute_character

mbstring.func_overload

mbstring.encoding_translation

mbstring.strict_detection

追質問があるようでしたら、回答受付中でもコメントをつけられるようにしていただけるとありがたいです。

回答制限に関係なくお答えできますので。


3 ● オーイェー
●20ポイント

UTF-8です。

私は、サイトをXHTMLで記述しているのですが、

DOCTYPEスイッチのために、XML宣言を省略しています。

ということで、PHPやMySQLなどもあわせてUTF-8を使用しています。

http://w3g.jp/others/data/doctype_switching


4 ● onigirin
●20ポイント

ヤフーに合わせてEUC-JPにしています。

http://www.yahoo.co.jp/


5 ● Yota
●20ポイント

WEBページ上でのエンコーディングは日本人の場合、

1.SJIS

2.UTF-8

3.EUC-JP

に絞られると思います。多分一番人気が高いのが1だと思います。

MicroSoftの洗脳(?)が効いたせいで。

どれを使ってもいいと思いますが、PHPの場合スクリプトの先頭に

mb_internal_encoding('UTF-8') ;

mb_http_output('UTF-8') ;

のようにするか、php.iniに書くことによって決めてやらないといけません。

http://www.php.net/manual/ja/function.mb-http-output.php

ただWEBサーバのほうでhttpヘッダにencodingを指定するようになっていればそちらが勝ります。

たとえばApacheなら

AddDefaultCharset Shift_JIS

とhttpd.confに書いてある場合などです。

http://httpd.apache.org/docs/2.2/ja/mod/core.html#adddefaultchar...

あと、httpヘッダで明確に規定しないときはブラウザが判断ミスすればどんなに正しい文字コードを送り出しても、化けて見えます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ