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

PHPのスクリプトファイル文字コードをSJISで記述して、運用しても文字化けやその他なにか問題はないでしょうか?EUCで記述する場合と比較して、メリット/デメリットはありますか?

また、SJISで記述する場合のphp.iniの設定内容を教えて下さい。
よろしくお願いします。

環境 PHP4.3.7 OS:MiracleLinux2.1

●質問者: loy
●カテゴリ:ウェブ制作
✍キーワード:EUC OS PHP SJIS スクリプト
○ 状態 :終了
└ 回答数 : 4/5件

▽最新の回答へ

1 ● iloveny
●20ポイント

http://www.din.or.jp/~ohzaki/perl.htm#JP_EUC_JP

Perlメモ

SHIFT-JIS の場合、正規表現が非常に使いづらくなります。正規表現は、ウェブプログラミングではよく使うので、これが無いと結構痛いです。

EUC-JP の場合、その心配はありません。

EUC-JP は最初のうちは使いづらいと感じるかも知れませんが、慣れれば SHIFT-JIS と変わりなく使うことができるので、EUC-JP をお勧めします。

出力時に SHIFT-JIS で出力すれば、ブラウザが誤認識することもありません。

URLはPerlのことですが、PHPの正規表現はPerl互換なので同じと考えていいでしょう。

◎質問者からの返答

正規表現ですか。使えないと確かに痛いですね。


2 ● onitsukaouendan
●20ポイント

海外の方がみれないくらいではないでしょうか。

すべて S-JISに変換してUPすれば

良いとおもいます。

掲示板等の変換の文字エンコードのとこもS-JISに変えれば問題ないでしょう。

セキュリティホールが見つかって

バージョンアップしたときに

また 同じ作業しなくてはいけない

面倒がありますね。

自分で記述を付け加えていけばいけくほど

その場所忘れていくものですから

どこかにメモしておくと

いつ バージョンアップしても大丈夫です。


3 ● iloveny
●20ポイント

http://oku.edu.mie-u.ac.jp/~okumura/php/

PHP による Web プログラミング

追加です。

長らく SHIFT-JIS で書いていなかったので忘れていましたが、下記のプログラムを SHIFT-JIS で書いてみてください。

print ”表”;

エラーが出ると思います。これは表という字の2バイト目に ¥(バックスラッシュ) が含まれているため、PHP が ” を ¥” と認識してしまい、Parse error となります。

追伸.携帯絵文字変換の際はポイントをいっぱい送っていただきありがとうございました。

◎質問者からの返答

携帯絵文字変換については、スクリプトの文字コードをSJISにしたら変換できました。しかし、EUCにするとできません。設定方法を教えていただけないでしょうか。


4 ● Paradise
●20ポイント

EUC-JP で困るとしたら,,、

1. Editorの設定ですかね。Winでexploreからクリック一クリックで開くときにめんどくさいですね。 送るとしても、EditorがデフォルトでEUCでないと日本語文字はばけばけです。逆にEUCに固定すると、あまたのソースがばけばけになります。

2.MiracleLinux2.1だとDBはOracleと決め打ちしますが、大丈夫ですね。これが、PostgreSQLになると、、、EUCですから、簡単につくるにはソースもEUCが望ましく、SJISならば、いちいち mb_encodeとか絡ませます。(もっとも1行追加くらいだが、、、)

3.html記述で

<META HTTP-EQUIV=”Content-Type” CONTENT=”text/html; charset=EUC-JP”>

を入れておけば大体大丈夫ですがですが、charsetきちんとしてないサイトが多いので簡単に文字化けが出ます。

で、SJISだと、漢字コード2バイト中に¥を含む場合の文字化け問題があったりします。はてなのソース見るとEUC-JPですね。

◎質問者からの返答

はい、お察しの通りoracleを使っています。DBにかんしては問題ないです。

関連質問


●質問をもっと探す●



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