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

このQ&Aのポイント
  • サーバーによる文字化け問題について知りたいです。
  • htmlファイルをアップした際に文字化けしてしまう問題が発生しています。
  • サーバーの文字コードとブラウザの文字エンコードの設定によって文字化けが起きることがあるようです。
回答を見る
  • ベストアンサー

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

サーバー関連の知識に乏しい為調べてもよく分らなかったので質問させて下さい。 友人の自作サーバーを借りて、自分のHPを公開しようと思っているのですが、htmlファイルをアップして、見てみると文字化けしてしまいます。 環境は htmlにcharset指定している文字コードはshift_jis。 サーバーはLinuxで自作しているようです。 ブラウザで表示させてみると、文字エンコードがutf-8になっていてshift_jisに切り換えると文字化けが直ります。 また同じブラウザでYahooジオシティーズのHPスペースにアップしたものを表示すると文字化けしませんでした。 どのようにすれば文字化けしなくなるでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Lean
  • ベストアンサー率72% (435/603)
回答No.3

OSがLinuxという事なのでWWWサーバプログラムはApacheだと思いますが、その設定ファイルであるhttpd.conf内で AddDefaultCharset UTF-8 と設定されているのではありませんか? これだとMETAタグで指定された文字セット(charset)は無視され常にUTF-8になります。 METAタグで指定された文字セット(charset)にしたいのであれば、 AddDefaultCharset off と設定してください。 なお、設定ファイルを修正してもApacheの再起動をしないと修正した設定は反映されませんので。 例) Fedora Core 5でのhttpd.confのある場所 /etc/httpd/conf/httpd.conf >またcharsetにUTF-8を指定してみたものを自作サーバーにアップしたのですが、結果は同じでした。 HTMLファイル内の文字コードがshift_jisのままでMETAタグのcharsetの指定だけUTF-8にしているという事はありませんよね?

adidas111
質問者

お礼

ありがとうございます。 サーバー側で指定されている可能性は高いと思います。 友人に確認してみます。 >HTMLファイル内の文字コードがshift_jisのままでMETAタグのcharsetの指定だけUTF-8にしているという事はありませんよね? 分らないなりにですが、TeraPadを使ってUTF-8に変換できていたと思います。 また確認して結果をご連絡させて頂きます。 ありがとうございました。

adidas111
質問者

補足

解決しました。元々サーバー側でhtmlはshift_jisの設定にしていてくれていたようでした。 最終的にはaddcharsetというのを.htaccessっていうファイルに追加して解決してくれました。 皆様ありがとうございました。

その他の回答 (2)

noname#19688
noname#19688
回答No.2

アップしたHTMLファイルは、あなたが作成したものですか? そのファイルの文字コードがそのままになると思います。 文字エンコードがUTF-8で正しく表示されるなら、そのHTMLファイルがUTF-8で作成されたものなのかもしれません。 その場合は、charsetにUTF-8を指定すれば正しく表示されます。

adidas111
質問者

お礼

ありがとうございます。 HTMLは自分が作成したものです。 Yahooジオでアップして正しく表示されるのでshift_jisで作成していると思われます。 またcharsetにUTF-8を指定してみたものを自作サーバーにアップしたのですが、結果は同じでした。 すみません。よろしくお願いします。

noname#20377
noname#20377
回答No.1

私もサーバには詳しくないですが (サーバの設定っぽい気がするので)友人に相談することになりそうな気がします。 Content-Type:text/html;charset=shift_jis っていうHTTPヘッダにしたいんだけど~って。

adidas111
質問者

お礼

早速のお返事ありがとうございます。 現在相談中で、もちろん自分より詳しい友人なのですが、友人も勉強用にLinuxサーバーを立ててみたという感じです。ちなみに自分もHTML等を勉強中なので実際どちらが原因かというのもあり質問させて頂きました。 すみません。よろしくお願いします。

関連するQ&A

  • fedoracore5 文字コードで悩んでます。(apache)

    こんにちは。今fedora core5でapacheをweb serverでHPを作成中です。 昔作成したHPを友達のweb serverにUPしてくれていたので、ツールを使って自分の作成していたHPを取得しました。それを今の私のweb serverにUPしたところ文字コードの違いからか文字化けしてしまいます。 fedora coreの文字コード UTF-8 apacheの文字コード UTF-8 取得してきたHP ソース内に charset=Shift_JISとなっておりました。 ソース内にこのうように書かれているとブラウザではShift_JISでしか見れないのでしょうか? HPをすべてUTF-8に変換したいのですが、量が多すぎて一つ一つShift_JISをUTF-8に書き換える事は困難です。 何か良い方法があれば教えてください。 よろしくお願いいたします。

  • 各キャリアの文字コード

    プログラマー初心者です。 サイトの開発を計画中なのですが、 PC(OS)、スマホ、携帯すべてのブラウザに対応している文字コードはなんでしょうか? 調べてみると携帯3社は"UTF-8","Shift-JIS"などバラバラに書かれていたので。 (UTF-8が使えないauのみmb_convert_encodingを使い、文字エンコードを変換?) PC・スマホも(データベースも)含め全て統一したいのでやはりUTF-8が適切でしょうか? HTML5で<meta charset="UTF-8">とだけ指定しています。 またサーバからメール送信などを行う際はShift-JISで全て文字化けしないでしょうか?

  • コピーすると文字コードが変わっちゃう

    プログラムを(ちなみにPHP)エディター(ちなみに秀丸)で入力して保存時にエンコードの種類を「Unicode(UTF-8)」で保存 もちろんプログラム(HTML/PHP記述)では <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> を指定しています 実行すると文字化けも起こらず正常にホームページが完成しました それをコピーして別のサーバーにアップすると正常にホームページが開かないんです 文字化けだけでなくソースが画面に表示されました そのソースも文字化けです コピー先をエディターで開くと「日本語(Shift-JIS)」になっていました コピー元は「Unicode(UTF-8)」です なぜでしょう? そもそも「Unicode(UTF-8)」をコピーするには単純にコピーしてはいけないのでしょうか? プログラムの量が結構あるのでこの「日本語(Shift-JIS)」を一括して「Unicode(UTF-8)」に保存できるようなツールはないのでしょうか?

  • 文字コードでなる文字化けの直し方お願いします。

    海外のWEBHOSTサーバーの WE○NGというところを使っているのですが。 HTMLの記述で charset="Shift_JIS" とすると日本語が文字化けします。 Shift_JIS を EUC-JP iso2022-jp UTF-8 ASCII と色々変えてみても、全部日本語が文字化けしました;; 文字化けにならない、日本語が表示されるにはどうしたらよいでしょうか。 お知りの方 よろしくお願いします。

  • UTF-8 コードでのmailtoの文字化け

    HPをつくったのですが、(HTMLのエンコードはUTF-8です。) mailtoにsubjectを追記してメールフォームを作成しました。ですが、件名のところがどうしても文字化けしてしまうので、文字をエンコードしたものを貼り付けて何とか対応しました。しかし、ウィンドウズXPまでの古いブラウザでは大丈夫なものの、VISTAでは文字化けしてしまうようです。 どうしてこうなってしまうのでしょうか?outlookなどのバージョンの問題なのでしょうか?それともOS? わかりません。理由をご存知の方、また解決策をご存知の方、どうぞ教えてください。 あと、こんなこと問題外といわれるかもしれませんが、UTF-8を単純にShift-JISに置換したのですが、レイアウトとうすべてがぐちゃぐちゃになってしまいました。たくさんのページをUTF-8からShift-JISに変換しても良い方法というのはないのでしょうか?この点も併せて回答お願いいたします。

    • ベストアンサー
    • HTML
  • xml宣言の文字コード変更

    xhtmlとcssでのコーディングを行った際、途中で「UTF-8」で作成してと言われました。 そのため、作成していたコードの冒頭をshift_jisからUTF-8にかきかえてみたところ、文字化け。ブラウザの表示をUTF-8に変えても化けたままなので、作業にならんと宣言をshift_jisに戻しました。 が、書き換えても文字化けが直りません。 宣言自体を消して保存しなおしたりもしたのですが、以前文字化けたままです。 テキストエディタで見るとちゃんとshift_jisになっているのですが、 これはどうすれば直るものなのでしょうか? 手を入れたのは以下の二行になります。(抜き出してるだけですので実際はheadタグ等を挟んでいます) 初期 <?xml version="1.0" encoding="shift_jis"?> <meta http-equiv="content-type" content="text/html; charset=shift_jis" /> ↓ UTF-8に書き換え <?xml version="1.0" encoding="UTF-8"?> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> ご教授ねがいます。

  • 自分で書いたPHPスクリプトが、文字化けしてる

        テキストエディタでPHPのスクリプトを書いて サーバにアップしてブラウザで表示すると、文字化けしてしまいます。 手動でブラウザのエンコード設定をしなおすと正常に表示されるんですが ページ更新したらデフォルトで文字化けしてます。 PHPスクリプトを書いて、アップロードしてブラウザで表示する時に 文字化けしないようにするには、どうすればいいのでしょうか? 以下のコードは書いていますが、文字化けします↓ <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">    

    • ベストアンサー
    • PHP
  • モバイル端末の文字コードについて

    javaで作成した携帯のページがあり、htmlの<a>タグにクエリを使い値をjavaファイルに渡しているんですが、エンコードをしても文字化けしてしまいます。 UTF-8、SHIFT-JISでエンコードとデコードを試してみたのですが、SHIFT-JISではカタカナが文字化けしてしまい、UTF-8では全ての文字が文字化けしてしまいます。 フレームワークの仕様の都合上、クエリで渡すのが一番ベストの方法なので、なんとかクエリで文字化けせず渡したいのですが、どうにか良い策はないでしょうか?

    • ベストアンサー
    • Java
  • HTMLの文字化け

    自分で立ち上げたサーバへWindoswで作成したHTMLをアップしてブラウザから表示の確認をしてみたところ、日本語が文字化けてしまいました。 ヘッダーには <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> として、文字コードをUTF-8にしてあるのですが、この部分を <meta http-equiv="Content-Type" content="text/html; charset=Shift-JIS" /> とShift-JISにしてみると、日本語の文字化けが解消します。 できればcharset=UTF-8の状態で文字化けせずに表示してくれるようにしたいのですが・・・ どなたか原因がお分かりになる方いらっしゃいましたら、ご教授のほどお願い致します。 テキストエディタはK2Editorを使用しており、「保存時の文字コードと改行種類の変更」でHTMLファイル自体の文字コードは「Shift-JIS」、改行コードは「CRLF」としております。 サーバは、CentOS5.4を使用しており、 コマンドで # printenv | grep LANG の結果は、 LANG=ja_JP.UTF-8 となっております。

    • ベストアンサー
    • HTML
  • 2つの文字コードの文字化けについて

    こんばんわ。 Linux使ってます。 わかりにくいかも知れませんが・・・ とあるHP更新ソフトを使ってるのですが、 そのHP更新ソフトが2つあり、 一つはShift_JISで自動でソースが書き出されます。 もう一つのソフトは自動でutf-8で書き出されます。 この時、バーチャルホストなので、 Apacheの設定は、noneにしてるので、 それぞれソフトで吐かれる文字コードに依存するようにしてます。 ですが、どうも、 cgiを使ってる所が文字化けしてしまいます。 utfで指定しないとダメなのかな・・・? 何か文字化けせず、 正常に表示させる方法はありますか? .htaccessなど使用も可能です。