海外サイトで日本語表示を自動的にする方法

[新着] Webテンプレートを仮オープンしました



0   名前: かず : 2006/11/02(木) 05:08  [URL]  ID:gy4zXBjn
メキシコ在住者です。現地のスペイン語学校から日本語のホームページを作って欲しいとの依頼があり、素人ながら一応出来ました。このホームページを現地のサーバーに入れてアクセスすると文字化けします。アクセスの度にエンコードを日本語に指定しなければなりません。現地の他の日本語WEBは自動的に日本語表示されます。

どうすれば自動的に日本語表示になるでしょうか?教えてください。

いま作っているホームページはここ↓ですので、ソース表示してどこに何を入れるか具体的にご指導いただければ大変ありがたいです。

  http://www.supeingo.uninter.edu.mx/

よろしくお願いいたします。


1   名前: Ryu : 2006/11/02(木) 05:08  ID:braAjNZo
下のページを参考にhtmlタグに言語指定してみれば如何でしょうか。
http://www.tagindex.com/html_tag/page/html_lang.html

2   名前: かず : 2006/11/02(木) 05:08  [URL]  ID:gy4zXBjn
>Ryuさん コメントありがとうございます。明日やってみます。

しかし http://www.kyoushikai.org/ では<html> だけで<html lang="ja">となっていませんが、日本語がちゃんと出てきます。

とにかく <html lang="ja"> としてやってみます。

3   名前: カヅサツ ◆ThCi95HEzw : 2006/11/02(木) 05:08  [URL]  ID:O5hEMlpW
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">

meta要素で文字符号化方式にShift_JIS(日本語で使われる文字符号化方式の1つ)を指定していますが、HTTPレスポンスヘッダに指定されている文字符号化方式が iso-8859-1 (ヨーロッパの言語で使われる文字符号化方式)になってしまっています。恐らくWWWサーバの仕様ですので、管理者に確認してください。

> ソース表示してどこに何を入れるか具体的にご指導いただければ大変ありがたいです。

HTTPレスポンスヘッダをなんとかしないと、ソースに何かを入れる「だけ」では解決できないです。

4   名前: 五月雨 : 2006/11/02(木) 05:08  ID:q0XLEugU
> しかし http://www.kyoushikai.org/ では<html> だけで<html lang="ja">となっていませんが、日本語がちゃんと出てきます。
そのサーバのレスポンスヘッダが
Content-Type: text/html

であるためです。

もし、仮にレスポンスヘッダが
Content-Type: text/html; charset=iso-8859-1

で、Webページの文字コードが Shift_JIS であると、文字コードが合わないがために文字化けしてしまいます。


対応策として、.htaccessで文字コードを指定してはどうでしょう?

文字化け対策としての.htaccess
http://www.shtml.jp/htaccess/mojibake.html
メタタグによる文字コード指定の有効性
http://www.shtml.jp/mojibake/meta.html

5   名前: 五月雨 : 2006/11/02(木) 05:08  ID:q0XLEugU
追記です。

Content-Typeヘッダによる文字コード指定は何よりも優先されます。
複数の文字コードの文書を扱う場合は、Content-Typeヘッダを
Content-Type: text/html

にしてあげてください。

6   名前: かず : 2006/11/02(木) 05:08  [URL]  ID:gy4zXBjn
>Ryuさん カヅサツさん 五月雨さん レスありがとうございます。

カヅサツさんのコメント以外を、いろいろやってみましたがどれも効果がありませんでした。

そこでカヅサツさん、教えてください

1)”HTTPレスポンスヘッダに指定されている文字符号化方式が iso-8859-1 (ヨーロッパの言語で使われる文字符号化方式)になってしまっています。”といわれていますが、どうやってそれを知ることができますか?

2)日本語表示するためには、文字符号化方式はどうなっていなければなりませんか?

上記1)2)のお返事を持ってサーバー管理者に会って来たいと思いますので、回答よろしくお願いいたします。




7   名前: 匿名 : 2006/11/02(木) 05:08  ID:3gTBw7sq
カヅサツさんではないですが、とりあえず。

> 1)”HTTPレスポンスヘッダに指定されている文字符号化方式が
> iso-8859-1 (ヨーロッパの言語で使われる文字符号化方式)になってしまっています。”と
> いわれていますが、どうやってそれを知ることができますか?

Telnet でアクセスしてみるとか、パケット監視ソフトを使うとかいろいろ方法はありますが、
ブラウザのプラグイン (拡張機能) を使うのが簡単でしょう。

Firefox には LiveHTTPHeaders がありますが、 IE には、以下のようなものがありました。

窓の杜 - 【NEWS】IEのエクスプローラバーにHTTPヘッダーをリアルタイム表示「ieHTTPHeaders」
http://www.forest.impress.co.jp/article/2005/02/17/iehttp.html

> 2)日本語表示するためには、文字符号化方式はどうなっていなければなりませんか?

Content-Type: text/html; charset=その文書の文字符号化方式
(今回の場合は Shift_JIS)

または、

Content-Type: text/html

(>>5 の通り)

8   名前: カヅサツ : 2006/11/02(木) 05:08  [URL]  ID:f0UXxXRM
>>6

> 1)”HTTPレスポンスヘッダに指定されている文字符号化方式が iso-8859-1 (ヨーロッパの言語で使われる文字符号化方式)になってしまっています。”といわれていますが、どうやってそれを知ることができますか?

私は Another HTML-lint (http://htmllint.itc.keio.ac.jp/htmllint/htmllint.html)で知りました。
Another HTML-lint は HTML文法チェッカなのですが、文字符号化方式などに関しては HTTPレスポンスヘッダも調べてくれます。

> 2)日本語表示するためには、文字符号化方式はどうなっていなければなりませんか?

一般的には Shift-JIS か EUC-jp あるいは iso-2022-jp (JIS) ですが、スペイン語を混在させる気があるのなら utf-8 が良いかもしれません。

9   名前: かず : 2006/11/02(木) 05:08  [URL]  ID:gy4zXBjn
>カヅサツさん

教えて頂いたAnother HTML-lintでURLで指定すると以下のエラーが出て来て見れませんでした。

Another HTML-lint error!
指定されたHTML (http://www.supeingo.uninter.edu.mx/hp01.html) を取得することができませんでした。
500 Can't connect to www.supeingo.uninter.edu.mx:80 (Bad hostname 'www.supeingo.uninter.edu.mx')

サーバー責任者に会って何と言ったらいいんでしょうかね?


10   名前: 匿名 : 2006/11/02(木) 05:08  ID:8Pb0u0sz
エディタで保存する時、指定のコードで保存されていますか。
ソースだけ変更して、保存は違う形式ということはないですか?
あと、私のFTPは初期値では勝手にs-jisに変更してくれます。

すごく初歩的で失礼かもしれませんが、確認してもらえませんか。

11   名前: カヅサツ ◆ThCi95HEzw : 2006/11/02(木) 05:08  [URL]  ID:f0UXxXRM
教えて頂いたAnother HTML-lintでURLで指定すると以下のエラーが出て来て見れませんでした。

http://openlab.jp/k16/htmllint/htmllint.html ではどうでしょう。
Another HTML-lintはあちこちにミラーがあります。

> サーバー責任者に会って何と言ったらいいんでしょうかね?

「.htmlファイルのHTTPレスポンスヘッダに iso-8859-1 が付くようになっていませんか? なっていれば外してください。あるいは外し方を教えてください」と言えば、まぁわかるはずだとは思います。

12   名前: 匿名 : 2006/11/02(木) 05:08  ID:yJFwA.jJ
>>10
きちんと確認してから答えたら?

13   名前: かず : 2006/11/02(木) 05:08  [URL]  ID:gy4zXBjn
>匿名さん

LiveHTTPHeadersを教えてくださって本当にありがとうございます。ダウンロードして試しました。HTTPリクエスト、レスポンスが同時に時系列に出て素晴らしいです。

>エディタで保存する時、指定のコードで保存されていますか。
>ソースだけ変更して、保存は違う形式ということはないですか?
>あと、私のFTPは初期値では勝手にs-jisに変更してくれます。

ワードパッドでテキストでHPの内容を修正して拡張子HTMLでファイル名を付けて保存しています。そしてエクスプローラでファイルを開いて思うように表示されるか確認しています。これでいいのですね?

サーバーへの取り込みは、メールでこちらからサーバ責任者にHTMLファイルを送って、そちらでサーバーに入れています。従って修正するのも相手の都合次第で時間がかかり思うようにあれこれ出来ないのがネックです。




14   名前: かず : 2006/11/02(木) 05:08  [URL]  ID:gy4zXBjn
>カヅサツさん

11番のAnother HTML-lintでも同じエラーが出て読めませんでした。

サーバー責任者への依頼方法を教えていただき、ありがとうございました。

来週早々会って来たいと思っています。それでも問題解決しなかったら、また相談に乗ってください。

では楽しい週末を!

15   名前: かず : 2006/11/02(木) 05:08  ID:gy4zXBjn
>カヅサツさん,匿名さん

今日サーバ責任者と会って、HTTPレスポンスヘッダーにcharset=iso-8859-1が
含まれているので換えるか削除するかお願いしました。結局以下のように
なり無事日本語が自動的に出るようになりました。本当にご協力ありがとう
ございました。

Content-Type: text/html; charset=Shift_JIS

ついに日本語が見えるようになりました。

http://www.supeingo.uninter.edu.mx/

一覧へ戻る