- ベストアンサー
HTMLの文字コードについて
こんばんは。 いつもお世話になっています。 現在、自分の趣味のサイトの再構築中です。 以前こちらで、xhtml 1.0 strictをutf-8で作成すべき、というアドバイスを頂きました。 そこでまたまた疑問が出てきたのでお聞きしたいのです。 私は主にホームページビルダーでサイト作成を行ってきたのですが、ビルダーはxhtml 1.0 strictには対応していないため、勉強のためにもHTMLエディタで作ってみようと思い、ezhtmlというフリーソフトをダウンロードしました。 そのソフトの文字コード設定画面で、【UTF-8(BOM付き)で保存する】と【UTF-8N(BOM無し)で保存する】の二つの項目があったのですが、これはどちらを選べばいいのでしょうか? それに、改行コードはCR-LFでいいのでしょうか? それと他に気になっていることがありまして。 私がレンタルしているサーバーは独自CGIが使用できるので、KENTWEBなどで配布しているフリーのCGIを使ってメールフォーム、掲示板等を設置しているのですが、CGIの本体のファイルを編集する際、こちらも文字コードを変更する必要があるのですか? 基本的なことがわかっていないため、トンチンカンな質問をしてるのかもしれませんが、上記のことで分かる方いらっしゃいましたら教えて下さい。 1.UTF-8(BOM付き)かUTF-8N(BOM無し)か 2.改行コードはCR-LFでいいのか? 3.CGIファイルなどの文字コードはどうするのか この中の一つだけでも結構ですので、よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
1 UTF-8 は、BOM無の方が良いでしょう。 しょせんは、多くのブラウザやサーバー(Apache等)がどっちに対応してるかという問題なのでですが、BOM有のみ対応というソフトは考え難いです。 2 CRLF がベターですが、LF だからダメというケースがもしあったら MAC関係でしょうか。 # 規格では、作成側には CRLFを、読取側には CRLF と LF の両対応を求めてたと思います。 3 入手した CGIの場合は、あなたの実力で対応するしかないです。 可能性的には、入手したままでやる方がうまくいき易いでしょう。 # CGIの文字コード変更は、HTMLより要修正箇所が多いのが普通です。 # さらにメール送信の場合、規格を守るならば、本文を JIS に、Subject 等を JIS の BASE64 エンコードにします。 その時、JISに変換する処理で元コードがハードコーディングされてる可能性もあります。 要は、そのCGI次第です。 個人的には、SJISのCGIは使わないのがお勧めです。
その他の回答 (2)
- shioz
- ベストアンサー率62% (529/853)
丁寧な回答が既に出ているので3についてのみ補足します。 CGIファイルの修正も必要です。 KentWebさんのソースならそんなに大変じゃないと思います。 ".cgi"はほぼ全部、".pl"は内容により修正が必要です。 修正点としては、(1)ファイルそのものの文字コード変更、(2)ソース内の"charset="を変更、の2点です。 また、skinを使用している場合、skinのhtmlファイル(charset=)やcssファイルの文字コード指定(@charset)も変更する必要があります。 ※具体的にはこうなります charset=shift_jis→ charset=utf-8 @charset "shift_jis" ;→ @charset "utf-8" ; skinを使っている場合は、ものによってhtmlファイル数が多くて大変かと思いますが、各ファイルを開いて検索、置換で置き換えるだけなのでたいした手間ではありません。 詳しくはこちらをご参考に http://sakaguch.com/utf2.html#cgi http://toshichang.exblog.jp/3959036/
お礼
一番気になっていた事項について、具体的に説明して頂けて大変助かりました。 自力でどこまでやれるかわかりませんが、紹介して頂いたサイトも参考にして頑張ってみようと思います。 ありがとうございました。
- ORUKA1951
- ベストアンサー率45% (5062/11036)
私は、もっぱらEmEditorなのですが、HTMLの場合はBOMは不要です。ソースに書いてあるので・・ 改行コードは、あなたがWindowsならCR+LFで、Macintoshなら、CRで、UnixならLFでよいです。これはサーバーにFTPで送られるとき、FTPの仕様で相手の改行コードに自動的に変換されるから。いわゆるテキストモードで転送 CGIファイルは、UTF-8か、EUC、他の文字コードではまる・・・まあ、EUCが無難かな。
お礼
今まで全部ビルダー任せにしていたのでわからないことが多すぎて困っていました。 詳しく説明していただいて助かりました。 ありがとうございました。
お礼
1と2はともかく、3に関しては勉強が必要そうですね。 この際ですから、わからないことを一つ一つクリアして行こうと思います。 回答ありがとうございました。