• ベストアンサー

ホームページをアップする時SJISコードのままでも見れるのですが

こんにちは。 ちょっと素朴な疑問なのですが、 ユニックス系のサーバーにホームページをアップロードするとき、コード変換しないでシフトジスコードのまま送っても、インターネットエクスプローラ等のエンコード機能を使えば、文字化けしないで、ちゃんとホームページが見られますよね。 また、メタタグで日本語コードセットをシフトジスにしておけば、文字化けしないで、ちゃんとホームページが見られますよね。 ということはファイルをアップロードする前に、わざわざユニックス系コードに変換しなくても問題ないということですか。 それとも何か不都合があるのでしょうか。 誰か教えてください。

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

  • ベストアンサー
  • briony
  • ベストアンサー率29% (323/1090)
回答No.2

今でもUNIXは多いですよ。ただWindowsのサーバも多いですね。しかしWebページを作る側は、あきらかにWindowsやMacの人が多くなりましたね(インターネット初期に比べ)。 テキストコードはEUCであるべき論者もいますが、HTMLの仕様で考えると、ホストではなく宣言によるものと考えて良い、と私は思っています。 ホストに適したとは、ホストがUNIXでありだからEUCのファイルを置くべきだ、ということでしょうか。 であれば、UNIXに昔のMacのデータも気軽に置けませんし、Windowsのファイルも置けません。 でも実際は、ファイルシステムを受け入れる環境があれば、どのファイルでも置けるはずです。 >ウェブブラウザーが高性能になりコード変換していたのは昔の名残ととらえて良いでしょうか。 名残ではなく、現在も必要な場面はあります。 WebページのHTMLでコードの宣言をせずに、いろんなコードのHTMLファイルを置いているページを見ると、文字化けはおきています。 私は英語版IEを主に使っていますが、たとえばMETAでどのコードか(どの言語か)なにも宣言をしていないのに、日本語のShift-JISになっているページ(つまり単純にWindowsで作ってそのままアップしたページなどです)などでは、ときども文字化けをします。 そのときは、IEのエンコードで表示を日本語にしますので、文字化けは直ります。 同様に、私のWindowsは中国語、韓国語、キリル文字(ロシア)を表示入力可能ですが、HTMLのMETAでそれらの国のコードを宣言していない場合、いくら本文がそれらの国のコードで作られていても、文字化けし、手動でエンコードを直す必要があります。 しかし事前にMETAでその国のコードを宣言しているページは、すんなりこれらの国の言語で表示されます。 つまり、IEなどブラウザは、 <meta ~中略~ charset=★★★"> の★★★で宣言されたコードで、ページを表示しようとする、ということです。 中国語でも、簡体字と繁体字がありますが、★★★のところでGBコード(大陸系のコード)を宣言していれば、簡体字中国語でWebページは表示されますし、★★★のところにBig5コード(広東省などの南部のコード)があれば、繁体字中国語(いわゆる日本の漢字に近い文字)でページが表示されます。 (中国語コードはもっと細かいのですが、わかりやすく2種類のみ書きました) CGIとのからみで、文字コードを統一している(CGIスクリプトがEUCで、ページもEUCなど)ということはあるでしょうね。

zyousuke
質問者

お礼

brionyさん、お返事ありがとうございます。 なるほど、今はパソコンでページを作ってホストにアップロードするという形式が当たり前ですが インターネット初期はホスト側で直接ファイルを作っていたということですね。 ホストに適したコードとはテキストエディタで開いたときに文字化けしないコードだと思います。 すなわちユニックス系ならEUCコードで送るのが適切だと思いました。 しかし、テキスト以外のMacやウィンドウズのファイルも置けるということで、文字コードごとき、それほど深刻に悩む問題でもないといったところでしょうか。 各国の言語を使う場合でも、メタタグを記述しておけば、ブラウザーが自動的にコードを選択してくれるということですので 今後は、最も労力が少ないシフトJISでアップしようかと思います。 CGIスクリプトもパソコン側で作成してしまえばシフトJISに統一されるので大丈夫ですね。 ところでbrionyさん、英語版IEを使ってらっしゃるとは、すごいですね。

その他の回答 (5)

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.6

> winscpは、なんと英語のソフト 最新版は多言語対応してて,日本語カタログも用意されてるようですけど. http://www.soft.ics.keio.ac.jp/~ozaki/ > xyzzyは ... 多機能すぎて頭が痛くなります 普通に使うにはかなりシンプルで軽いと思うけど,まあ,そこはそれ好きずきなので,色々探してみて下さい. > SSIをつかったページが文字化け 一つのページのコードは統一されてないと当然化けますわな.SSIの出力だけ,ページのコードと違うコードになってるんでせう. そーゆー場合はページごとeucにするのも良し,SSIの出力時にJISに変換するも良し.ご随意に.

zyousuke
質問者

お礼

astronautさん、ご返信ありがとうございます。 日本語カタログ入れてみました。 やっぱ日本語いいですね。 今まで使っていたFTPソフトの機能をほとんどカバーしていますので、かなり使えるソフトだと思いました。 ただミラーリングアップロード機能の挙動が、やや不安定に感じました。 これについては、もう少し使ってみて対策を考えたいと思います。 SSIの出力時にJISに変換する、というのはSSIの記述時に何か追記するのでしょうか。 だとしたら多分無理っぽいです(曜日を日本語にするやり方すら未だ知らないのです)。

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.5

>この2つのソフトはフリーウェアでは、出回っていないのでしょうか。 scp クライアントの代表は、やはり、その名もズバリwinscp でしょう。 http://www.google.com/search?q=winscp&btnG=%8C%9F%8D%F5&lr=lang_ja テキストエディタの方は、フリーソフトが山ほどあるんじゃないかと思いますけどね。私は xyzzy を使わせてもらってます。 http://www.jsdlab.co.jp/~kamei/ >これはiso-2022-jpのコードでアップした場合のみ文字化けするということですか。 いいえ。英語以外全部です。 >またレスポンスヘッダの設定というのを適切な値にすれば、文字化けは解消できるということでしょうか。 はい。AddDefaultCharset を無効にします。 FAQなので、検索すればいくらでも情報があります。 >それとastronautさんは、どのコードでアップしていますか。 iso-2022-jp です。

zyousuke
質問者

お礼

astronautさん早速のお返事ありがとうございます。 早速ご紹介いただいた2つのソフトを入れてみました。 winscpは、なんと英語のソフトで使い慣れるには、かなり時間がかかりそうです(というよりインストールして設定するまでにも、かなりの時間を要しました)。 しかし、これもセキュリティーのため、頑張って使いこなせるようになりたいです。 xyzzyは、なるほど名前を付けて保存するときにコードの形式を色々と選べるのですね。 しかし、これも紹介していただいておきながら失礼なのですが多機能すぎて頭が痛くなります(汗)。 「テキストエディタの方は、フリーソフトが山ほどあるんじゃないか」とのことですので ウィンドウズのメモ帳のようにシンプルで軽いソフトを、もう少し探してみたいと思います。 あ、ここまで書いて気づいたのですが iso-2022-jpでアップしたらSSIをつかったページが文字化けしました。 本日は○月○日です となるはずが 本日は○○|です となってしまいました!! うーむ、やはりEUCコードか!?

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.4

> マックで採用されているコードでしょうか。 マックはどうか知りませんが、E-mailも含め、インターネット上を行き来する日本語文字コードの標準です。 ちなみに、iso-2022-jp は、いわゆる JIS と呼ばれているもののことです。 > iso-2022-jpで記述することにより閲覧者には、 > どのような利点があるのですか。 標準なので、最も多くの環境で文字化けせずに閲覧できることが期待できます。 >(まあ僕のサーバーごとき、攻撃してくるような > 暇人はいないと思いますが) その考えは甘いです。 > サンバかアパッチ2のモジュールを使っての > アップに変更しようと考えたのです。 scp がいいんじゃないですか? windowsクライアントもあるし。 > しかし、これらのアップ方法の場合あらかじめパソ > コン上でのコード変換が必要になり、大きな手間に > なります。 最初から iso-2022-jp が使えるテキストエディタで作れば、全然問題ありません。

zyousuke
質問者

お礼

astronautさん、項目ごとに、ご返信どうもありがとうございます。 確かに僕の考えは甘いですね。 今すぐにFTPの使用をやめたい考えです。 「scpのwindows用クライアント」と「最初から iso-2022-jp が使えるテキストエディタ」 両方とも導入したいと思いベクターで探してみたのですが見つかりませんでした。 この2つのソフトはフリーウェアでは、出回っていないのでしょうか。 それと、やはり気になるのは「Apache-2系では、サーバーのレスポンスヘッダの設定により、それでも文字化けすることがありますが」 の部分です。 これはiso-2022-jpのコードでアップした場合のみ文字化けするということですか。 またレスポンスヘッダの設定というのを適切な値にすれば、文字化けは解消できるということでしょうか。 それとastronautさんは、どのコードでアップしていますか。 聞いてばっかりで、すいませんが、よろしければ教えてください。

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.3

Webページは SJIS でも EUC でもなくて、iso-2022-jp で記述するのが「お行儀が良い」と思います。 もちろんメタタグの指定もしましょう。 Apache-2系では、サーバーのレスポンスヘッダの設定により、それでも文字化けすることがありますが。

zyousuke
質問者

お礼

astronautさん、ご返信ありがとうございます。 iso-2022-jpですか。 このコードは、たまに目にするのですが、マックで採用されているコードでしょうか。 isoということは業界標準なのですね。 iso-2022-jpで記述するのが「お行儀が良い」とのことですが、 これは閲覧者に対して「お行儀が良い」ということでしょうか。 iso-2022-jpで記述することにより閲覧者には、どのような利点があるのですか。 ところで、そもそも何で今回こんな質問をしたのかといいますと ウェブページをアップロードするために、今まではFTPソフトを使っていました。 このFTPソフトにはアップ前に文字コードを指定した形式に一括変換してくれる機能があります。 しかしセキュリティー面からみるとFTPには問題があるので(まあ僕のサーバーごとき、攻撃してくるような暇人はいないと思いますが) サンバかアパッチ2のモジュールを使ってのアップに変更しようと考えたのです。 しかし、これらのアップ方法の場合あらかじめパソコン上でのコード変換が必要になり、大きな手間になります。 そこでシフトJISのままアップロードしてしまおうと考えたのです。 ただし、今まで作った全てのHTMLファイル中のメタタグをシフトJISに書き換えることを考えると気が遠くなります(汗)

  • briony
  • ベストアンサー率29% (323/1090)
回答No.1

昔、まだインターネットといえばUNIXがメインの時代がありました。その後、WindowsやMacなどのパーソナルコンピュータでHTMLファイルをつくるようになり、EUCにしてアップロードするようにいわれていましたね。 その頃は、ブラウザもまだNetscapeでもver.0.xと、とても非力だったことを覚えています。 Mosaicでもうまく日本語を表示できない時代があった記憶があります。ですので、EUCというのは暗黙の了解でした。 その後、HTMLの仕様も変ってきて、ブラウザも進化しました。 現在、HTMLファイルの<HTML>タグのあとに <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <meta http-equiv="Content-Type" content="text/html; charset=iso-2022-jp"> など、文書の文字コード(キャラクタセット)を宣言できますが、これを宣言して、実際のファイルも宣言したコードになっていれば、ブラウザはしっかり判断してくれますので、おっしゃるようにわざわざユニックス系コードに変換しなくても問題ないということです。 ちなみにこのページは、 <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> と宣言されており、日本語もEUCのようです。

zyousuke
質問者

お礼

brionyさん、ご返信ありがとうございます。 ということはホストに適したコードに変換しなくても精神的な問題以外は何も不都合がないということですね。 今ではウェブブラウザーが高性能になりコード変換していたのは昔の名残ととらえて良いでしょうか。 書き忘れたのですが以前、学校の先輩がCGIがどうだとかSSIがどうだとかいう理由で面倒だがコード変換してからアップしているという話を小耳に挟んだもので、ちょっと質問してみました。 インターネットといえばUNIXがメインの時代とありますが、現在はUNIXがメインではなくなったということですか。 聞くところによるとウィンドウズXP機でもウェブサーバーを立てることができるようですね。 Mosaicは使ったことがないのですが調べたところ昔は猛威を振るっていたようですね。 ちなみにEUCコードでアップする利点?の1つに、インターネットエクスプローラでソースを表示しようとしても文字化けして、ソースがばれにくいことが挙げられますね。 教えてgooでは、そのような狙いがあるのでしょうか。

関連するQ&A

  • IIS5.1です。PHPをブラウザで開くと文字コードがSJISになる。

    IIS5.1です。PHPをブラウザで開くと文字コードがSJISになる。 WindowsXPのIISをWEBサーバとして利用しております。 http://localhost/test.phpを開いた際、必ず文字コードがSJISとなります。 そのページのメタタグには間違いなくキャラクタセットをEUCにする指定がされています。 そこでブラウザの機能で、エンコードをEUCに変更すると正常に表示されますが、 ページ移動するとまたSJISとなり、同じくエンコードを変更しなければなりません。 IISの設定かとは思うのですが、解決方法が見つかりません。 お教えいただけると助かります。よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • アップしたホームページが文字化けします

    アップしたCGIホームページが文字化けします OSはWinXPです IEは6です 文字化け表示されたページは IEの表示~エンコードを指定して 自動選択を外すと正常に表示されます CGI作者は 文字コードEUCで作成しましたと 書いてあります。 アップロードする時に 何かの作業が必要なのでしょうか? いろいろやってみるのですがうまくいきません 3日間悩んでいる私を助けてください お願いします

    • ベストアンサー
    • CGI
  • 携帯のホームページを楽造で作ってFFFTPにアップロード

    すると・・・そのホームページが文字化けします。そのページでエンコードで自動にするとそのページは直りますが次のページはダメです。で、また一からホームページを開けると全部文字化けしています。どうしてでしょうか?よろしくお願いします。FFFTPの設定の文字コードを無変換(ホストの漢字コード)SHIFTーJIS(ファイル名の漢字コード)にしてみたり、漢字コードの変換なしを押したりいろいろしてみたんですが直りません。教えてください。

  • エンコードのEUCについて

    はじめまして 現在○○サービスというところでホームページ を作ってもらっています。 メタタグを入れようとすると、更新の度にファイルを送る必要 があります。個人情報の関係もあり、セキュリティとシステム の関係でこうなるようです。 問題はメタタグをいれるとエンコードが自動的に変わり文字化け してしまいます。 そのサポート会社から、つぎのような回答が返ってきましたが、 私がどうすれば理解出来ません。 どなたかご指導お願いします。 *************************** ブラウザでページを表示させて、「ソースの表示」でソースを 見ると文字化けしているということでしょうか? 「ソースの表示」でソースを見るときに起動されるソフトである 「メモ帳」は「EUCコード」のコード指定表示ができません。 ですが○○SERVICEのホームページを置いてある サーバーは「EUCコード」で動いておりますので、ファイルを 「EUCコード」にしておく必要があります。 「EUCコード」でない文字コードで保存したファイルをアップすると、 公開URLを表示させたときに見えるホームページの文字が化けて しまいます。 必ず「EUCコード」で保存をしていただく必要がありますので、 もしも「メモ帳」しかエディターをお持ちでないのであれば、 「文字コード」変換ができるソフトを使って、「EUCコード」で 保存して下さい。

  • 一般的な文字化け対処をしてみたのですが、文字化けが直りません。

    レンタルサーバー『ロリポップ』を先日借りまして、以前作ったサイトをそっくりそのまま移行したのですが、日本語部分が文字化けしてしまいました。 いろいろ調べてみまして、メタタグの文字コード指定をいじってみたり、ブラウザ自体の文字コード設定をいじってみたりしたのですが、全く変化なしです。 ブラウザがおかしいのかと、携帯のフルブラウザでも確認したところ、同様の文字化けの様子が見られます。 以前のサーバーでは問題なくどんなブラウザでも表示されてましたし、携帯でも見ることができました。 とすると、サーバ側に問題があるのでしょうか。 作成ソフトはGolive5.0で、こちらのエンコードの設定も変えてみましたが何も変化はありません。 メタタグもソフトのエンコードもShift_JISに設定しています。 一応他の文字コードでも全部試したのですが、文字の表記が変わるだけで正しく表示される事はありませんでした。 考えられる理由にお心当たりのある方はアドバイスいただけると幸いです。

  • ホームページv4 文字コードによる文字化け

    下記の内容で質問がございます... ご回答をいただけますと幸いです。 ◆ ホームページV4 Q.作成したHPをお名前ドットコムで借りたサーバーにアップロードしましたが、HPを公開したところ、文字化けしました。 ※文字コードがShift-JISでした。 UTF-8に変更すれば良いことは分かるのですが、 ホームページv4上では設定にそれがありません また、コードを変更しても、反映されません... (変更後自動的に戻る) ホームページv4を使うなということでしょうか() 以前、同じような質問を本コミニュティにされた方がいらっしゃいましたが、ソースネクストに問い合わせをすれば良いのではないでしょうか?という、ご回答をいただいておりました。 やはり、アプリ(ホームページv4)では解決できない問題でしょうか? このままではせっかく作ったHPをワードプレスで作り直さないといけません... ご教示のほど、よろしくお願いいたします ps.以前、v4からサーバーにアップロード出来ない件を質問させていただいたものです。FFFTPを使用したところ、アップロード出来ました ありがとうございました ※OKWAVEより補足:「ソースネクスト株式会社の製品・サービス」についての質問です。

  • サーバーにアップすると文字化けする

    PHPで作成したWebサイトをブロバイダーのサーバーにアップして表示すると文字化けします。 ローカル環境では、php.iniの設定で、エンコードをUTF-8としていますが、「サーバー環境はWindowsサーバをベースとしており、WEBサーバはIIS(7.0)となるため、各サイトごとにphp.iniファイルを設定することはできない。 (サーバ内にアップロードされてもPHPから読ませることはできません。)」 とブロバイダに言われました。 どうしたらよいのでしょうか? ちなみに、ローカル側のエンコードをjisにすれば問題ないのかもしれませんが、いまいちphp.iniの設定に自身がないのです。 今の状態は以下の通りですが、どこをどう変更すればよいのでしょうか? よろしくお願いします。 **************************************************** default_charset = "UTF-8"       出力文字コード mbstring.internal_encoding = UTF-8  PHP内部の文字コード mbstring.http_input = auto       HTTP入力の文字コード mbstring.http_output = pass      HTTP出力の文字コード mbstring.encoding_translation = Off  HTTP入力の文字コードの自動変換 ****************************************************

    • ベストアンサー
    • PHP
  • ホームページの文字化け

    ホームページを作ったのですが、表示すると何故か文字化けしてしまいます。エンコードを自動選択にすると直るのですが、開いたら文字化けではイメージも良くはないですし、なにか解決策はないでしょうか? サーバーはYahoo!ジオシティズです。 説明不足があれば、言ってもらえるとありがたいです。

  • "utf8"→ "sjis" の 文字化け・・・

    xml内のデータで utf8でかかれた 文字列中の ~ が XPATHでデータを取得し シフトジスに変換すると Encode::encode ローカルでは ? になり サーバーでは ?のあとに文字化けします。 Jcodeだと Jcode::convert($rValue, "sjis", "utf8"); ローカルでは ?? サーバーでは 〓 になります。 windowsで作った別のそふとや ブラウザ、メモ帳では 正常にxml内のデータで ~  が入っていることは確認できています。 XPATH(findvalue)の値だけを ファイルに書き込んで メモ帳で表示すると 正常に ~ が表示されるので Encode::encode 、Jcode の問題のようなのですが きちんと表示させる方法がわかりません。  なにか 設定をご存じでしたら よろしくお願いします。

    • ベストアンサー
    • Perl
  • wwwサーバーの文字コードについて教えて下さい。

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