- - PR -
WEBサーバーの文字コードについて教えて下さい。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-12-08 17:57
WEBサーバーの文字コードなのですが、EUCに固定(?)されているようで、例えば保存形式、キャラセットがSJISのhtmlページが文字化けします。
複数人数でWEBサイトを管理しているため、PHPページはEUCでよしとしましても、できればSJISのhtmlページをそのままアップしても文字化けしないようにしたいのです。 私自身はあまり詳しくないため人に頼むことになりますが、仕組みは知っておきたいと思い、投稿しました。 どこをどのように設定し直せば、解決するでしょう? 以下、わかる範囲での情報です。 OS:CentOS 4.6 WEBサーバー:Apache 2.0.52 php.ini PHP Core "default charaset EUC-JP" HTTP Headers Information "Content-Type text/html;charset=EUC-JP" mbstring "mbstring.intrnal_encoding EUC-JP(Local・Master Value) 宜しくお願いいたします。 | ||||
|
投稿日時: 2008-12-08 18:40
こんばんは。
それはサーバ側の設定でのハンドリングではなく、 コンテンツ側のハンドリングで回避可能と思います。 http://www.mozilla.gr.jp/standards/webtips0022.html あたりを読んでいただくとなんとなく理解できると思います。 また FTP でファイルアップロード時にも自動的に文字コードが変換されないか、確認した方が良いです。 | ||||
|
投稿日時: 2008-12-08 18:55
こんばんは。あるかなさん。
ありがとうございました。 <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> でSJIS保存ですと、文字化けしますので、 現在はhtmlページも全て <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> でEUC保存しています。 これであれば、問題はありません。 ただ、HP編集者が複数いて、入れ替わりもあり、ホームページビルダー等での いわゆる(文字コードちんぷんかんぷんの)素人が作業をするため、 ビルダーで普通に新規ページを作り、アップしても問題ないようにした方が いいかなと思い、投稿しました。 サーバーを設定した業者からは、 <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> でSJIS保存ですと、文字化けするようなことを聞いた覚えがあります。 ちなみに、WinSCPですが、文字コードが自動的に変換されるということは あるのでしょうか? 今まで、特に意識していませんでした。 | ||||
|
投稿日時: 2008-12-08 21:19
一概に文字化け、と言われていますが、確認方法はどうされていますか?
単にブラウザ上の表示問題、サーバ内部で確認している等々、色々な話はあると思います。 とりあえず、ファイル保存状態とブラウザ表示設定に差違が無ければ、 文字化けが発生することは無いと思いますが・・・ ブラウザ側の表示設定を確認されていますか? また1サイト上で複数の文字コードで構築することのメリットはほぼ無いと思いますので、 この際 EUC で統一されたらどうでしょうか?
これを考慮に入れるならば、BLOG/CMS形式で構成する方が良いと思います。 > サーバーを設定した業者... 恐らく AddDefaultCharset 辺りの話かと思いますが。 2.0 系のデフォルトがどうなっているのかはわかりませんが、httpd.conf で、 AddDefaultCharset off の設定で効果があるかもしれません。 ちなみに off がデフォルトだったので、余り意識しないハズなんですけどね・・・ > WinSCP アップロードの環境がわかりませんでしたので、有名どころの FFFTP などのソフトで、 考慮すべき話です。たぶん WinSCP なら平気じゃないでしょうか。 アップ後のファイルをサーバ上で確認してみるのも良いですよ、という意向でした。 #誤字修正 [ メッセージ編集済み 編集者: あるかな 編集日時 2008-12-08 21:22 ] | ||||
|
投稿日時: 2008-12-08 22:36
文字化けは、ブラウザ上での表示で発生します。
ブラウザの文字エンコーディングをEUCにすると、解消します。 恐らく、業者もいろいろ考慮してEUCに統一したものだと思います。 また、現状ではBLOG/CMS形式は、ちょっと厳しいように思います。 サーバーの設定を変えずに、出来る方法を考えてみます。 ありがとうございました。 | ||||
|
投稿日時: 2008-12-09 09:40
であれば、そのファイルはEUCで保存されているのでしょう。 そもそも HTML ヘッダで SJIS を指定するのが間違いかと。 HTML 作成ソフトの設定を見直すのが先かと思います。 ローカルで表示、サーバに上げて表示、で状況に差があるという話であれば、 どこかで文字コードの変換が発生しているはずです。 #上記は全て静的コンテンツの話です。 動的コンテンツの場合は PHP なりの設定に依存します。 | ||||
|
投稿日時: 2008-12-09 18:27
一部のディレクトリに
.htaccess [AddType "text/html; charset=Shift_JIS" html]を入れましたところ、 そのディレクトリ内だけは、HTMLヘッダ及び保存がSJISの状態で ブラウザ表示が文字化けしませんでした。 一応、これで解決方法が見えてきましたので、これでやっていくことにします。 |
1