- PR -

WEBサーバーの文字コードについて教えて下さい。

1
投稿者投稿内容
WARA
会議室デビュー日: 2008/12/08
投稿数: 7
投稿日時: 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)

宜しくお願いいたします。
あるかな
大ベテラン
会議室デビュー日: 2003/11/04
投稿数: 245
投稿日時: 2008-12-08 18:40
こんばんは。

それはサーバ側の設定でのハンドリングではなく、
コンテンツ側のハンドリングで回避可能と思います。

http://www.mozilla.gr.jp/standards/webtips0022.html

あたりを読んでいただくとなんとなく理解できると思います。

また FTP でファイルアップロード時にも自動的に文字コードが変換されないか、確認した方が良いです。
WARA
会議室デビュー日: 2008/12/08
投稿数: 7
投稿日時: 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ですが、文字コードが自動的に変換されるということは
あるのでしょうか?
今まで、特に意識していませんでした。
あるかな
大ベテラン
会議室デビュー日: 2003/11/04
投稿数: 245
投稿日時: 2008-12-08 21:19
一概に文字化け、と言われていますが、確認方法はどうされていますか?
単にブラウザ上の表示問題、サーバ内部で確認している等々、色々な話はあると思います。

とりあえず、ファイル保存状態とブラウザ表示設定に差違が無ければ、
文字化けが発生することは無いと思いますが・・・
ブラウザ側の表示設定を確認されていますか?

また1サイト上で複数の文字コードで構築することのメリットはほぼ無いと思いますので、
この際 EUC で統一されたらどうでしょうか?

引用:
ただ、HP編集者が複数いて、入れ替わりもあり、ホームページビルダー等での
いわゆる(文字コードちんぷんかんぷんの)素人が作業をするため、
ビルダーで普通に新規ページを作り、アップしても問題ないようにした方が
いいかなと思い、投稿しました。



これを考慮に入れるならば、BLOG/CMS形式で構成する方が良いと思います。

> サーバーを設定した業者...

恐らく AddDefaultCharset 辺りの話かと思いますが。
2.0 系のデフォルトがどうなっているのかはわかりませんが、httpd.conf で、
AddDefaultCharset off
の設定で効果があるかもしれません。
ちなみに off がデフォルトだったので、余り意識しないハズなんですけどね・・・

> WinSCP

アップロードの環境がわかりませんでしたので、有名どころの FFFTP などのソフトで、
考慮すべき話です。たぶん WinSCP なら平気じゃないでしょうか。
アップ後のファイルをサーバ上で確認してみるのも良いですよ、という意向でした。

#誤字修正

[ メッセージ編集済み 編集者: あるかな 編集日時 2008-12-08 21:22 ]
WARA
会議室デビュー日: 2008/12/08
投稿数: 7
投稿日時: 2008-12-08 22:36
文字化けは、ブラウザ上での表示で発生します。
ブラウザの文字エンコーディングをEUCにすると、解消します。

恐らく、業者もいろいろ考慮してEUCに統一したものだと思います。
また、現状ではBLOG/CMS形式は、ちょっと厳しいように思います。

サーバーの設定を変えずに、出来る方法を考えてみます。
ありがとうございました。
あるかな
大ベテラン
会議室デビュー日: 2003/11/04
投稿数: 245
投稿日時: 2008-12-09 09:40
引用:

WARAさんの書き込み (2008-12-08 22:36) より:
文字化けは、ブラウザ上での表示で発生します。
ブラウザの文字エンコーディングをEUCにすると、解消します。



であれば、そのファイルはEUCで保存されているのでしょう。
そもそも HTML ヘッダで SJIS を指定するのが間違いかと。
HTML 作成ソフトの設定を見直すのが先かと思います。

ローカルで表示、サーバに上げて表示、で状況に差があるという話であれば、
どこかで文字コードの変換が発生しているはずです。

#上記は全て静的コンテンツの話です。
 動的コンテンツの場合は PHP なりの設定に依存します。
WARA
会議室デビュー日: 2008/12/08
投稿数: 7
投稿日時: 2008-12-09 18:27
一部のディレクトリに
.htaccess [AddType "text/html; charset=Shift_JIS" html]を入れましたところ、
そのディレクトリ内だけは、HTMLヘッダ及び保存がSJISの状態で
ブラウザ表示が文字化けしませんでした。
一応、これで解決方法が見えてきましたので、これでやっていくことにします。
1

スキルアップ/キャリアアップ(JOB@IT)