• 締切済み

確実に文字コードを自動判別させる方法ありますか?

エディタでは正常に日本語が見えているのですが、 METAタグでcharset=x-euc-jp を指定しても、必ず文字化けするHTMLがあります。 どうやら、文字コードが混在しているようなんです。 どこで文字コードが混在しているのかわからない為、 文字コードを統一できず困っています。 文字コードを混在した状態からEUC-JPとLFへ変換できるソフトはありますでしょうか? 又、ブラウザにEUCだと確実に判別させる裏技的な方法はないでしょうか?

  • CSS
  • 回答数2
  • ありがとう数1

みんなの回答

noname#5841
noname#5841
回答No.2

うーん、、、。 #1の方の回答を試してみてだめだったら、ですが、 すでに混在してしまっている状態だと、結構難しいかも。 Shift-JISなど異なるコードから、EUC-JPへの一括変換、というわけじゃないんですよね??? 御存じだとは思いますが、HTMLのMETAタグだけ変えればOKというものじゃないので、混在してしまっているのだとしたら、残念ですが、1からやり直した方が実は一番早いかも。 といっても、元のHTMLをテキストエディタで開いて、EUC-JPのコードの空のHTMLを一つテンプレートにして、ソースをコピー&ペーストして、元のHTMLファイル名にして保存、という作業自体は単純作業なので、難しくはないと思いますが…。 あと、もし外部JSとかCSSがある場合は、そのファイルも文字コードをEUC-JPにしておかないと、だめですよ~~~。

回答No.1

> METAタグでcharset=x-euc-jp 今はもう「x-」は不要です。逆に「x-」が付いているばっかりにEUC-JPだと判定 しないブラウザもあるでしょう。charset=euc-jpの指定でも文字化けるかどうか 確認してみてから考えてもいいんじゃないでしょうか。

関連するQ&A

  • ブラウザが文字コードを誤判別する

    PHPでフォームを含むHTMLを出力しています。 POSTを使ってページ移動すると、ブラウザが文字コードを誤判別します。 表示が文字化するのではなく、ブラウザのエンコードが誤判別され、POSTで次ページに移動するとPOSTされる文字列だけが文字化けします。 リンクによる移動では、誤判別しません。 php.iniの設定 default_charset = Shift_JIS mbstring.internal_encoding = EUC-JP mbstring.http_output = Shift_JIS PHPのソースは、EUC-JPで書いています。 出力するHTMLには、 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"/> をヘッダーに記述しています。 この現象は100%発生するわけではなく、完全にランダムです。 確実な再現手順はありません。 ブラウザは、WinXP Pro SP2 + IE6.0 です。 ブラウザの不具合でしょうか?

    • ベストアンサー
    • HTML
  • 文字コード変更による、文字化け・レイアウト崩れ

    文字コードをShift-jisからEUC-JPに変更したいのですが、 HTML・CSSに処理を施したら文字・レイアウトが大幅に崩れてしまいました。 以下のように変更したのですがやり方に間違いはないでしょうか? [HTML] <meta http-equiv="Content-Type" content="text/html; charset=Shift-jis"> ↓↓ <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> [CSS] @charset "shift_jis"; ↓↓ @charset "euc-jp"; また、ブラウザの表示⇒エンコードで(Shift_jis)を選択すると今までどおり正常に表示されます。(HTMLとCSSにはeuc-jpの記述にも関わらずです) これは文字コード変更したと思い込んでしまっているのでしょうか? 解決策お願いします。 あまり知識がありませんので、分かり易く教えていただけるとありがたいです。 ちなみにエディタはHTML Project2を使用しています。

  • 文字コードについて教えてください。

    ホームページを作成するときに指定する文字コードをどうしたらいいのか迷っています。 ウインドウズ環境でホームページを作る際、入力された文字は秀丸などの特別なソフトを使わなければ自動的にShift JISコードになると思うのですが、この場合、タグを <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS"> と指定するべきでしょうか?それとも、 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-2022-jp"> と指定するべきでしょうか? ISO-2022-JPで指定した場合、ブラウザが必ずしも自動判別してくれないこともあるのでしょうか? また、CGIスクリプトはShift JISで入力するとエラーを起こすことがあると聞いたことがあります。 ホームページを作成する場合には、常にISO-2022-JPかEUCの文字コードで作成するようにしたほうがいいのでしょうか? いろいろ検索して調べてみたのですが、どうもよくわかりません。宜しく御願いします。 なお、gooのホームページを閲覧するときも頻繁に文字化けしています(文字コードがEUCに指定されていないのはなぜでしょうか?)。

  • .htaccessもmetaもEUC-JPなのにブラウザから自動判別されない。

    PHPで .htaccessもinternal_encoding, http_outputをEUC-JP としたし、metaタグも書いてEUC-JPとしたのに、 ブラウザから文字のエンコードが正しく自動判別されず、 Unicodeになってしまって、文字化けしてしまいます。 なぜなのでしょうか? どうしたら正しく判別されるようにできるのでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 文字コードの指定について

    METAタグで文字コードを指定する際、指定する文字コードは使っているレンタルサーバーによるのでしょうか? 今は、charset=x-euc-jp"と指定していて、問題なく表示されていますが、 これは私の使っているレンタルサーバーの文字コードが たまたまx-euc-jpだったのでしょうか?

    • ベストアンサー
    • HTML
  • 「コード変換して保存する」が選択できない

    エディタにHTML Project2を使用しているのですが、 文字コードをshift_jisからeuc-jaに変更したく思っています。 <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> のタグは書き込んだのですが、ファイル⇒「コード変換して保存する」が薄字になっていて選択できないのです。 なぜなのでしょうか? 解決策お願い致します。

  • PHPの文字コード

    PHP初心者です。 環境【WinXP、PHP5、Apache2、エディタはDreamWeaverかPHPエディタ】 あまり詳しくないので、まず文字コードが今ひとつわかりません。 参考書などでPHPはEUCで記述と書いてあるので、エディタの設定で文字コードをEUC,改行コードをLFに設定しています。 ホームページを作成していた時には、metaタグに文字コードを打っていますが、プログラムの場合必要ないんですか?普段はShift-JISで入力しています。それともmetaタグの文字コードをEUCにしなければいけないのでしょうか? 現在、初めて更新履歴を作成しています。PHPファイルをEUCで作成し、テキストファイルをShift-JISで作成したのですが、うまく表示できませんでした。色々試して、PHPもテキストもShift-JISで作成したら、一応表示されたものの、たまに¥マークが勝手に入ってしまいます。 通常Windows環境でPHPファイルを作成する時の文字コードを教えてください。また、この場合はサイト全体(htmlファイルなど)のmetaタグの文字コードはどうしたらよいのでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 文字コード

    ページ内で使っているCGIの文字コードが「EUC_JP」だったとしたら それにリンクしてるhtmlとかも全部「EUC_JP」にしたほうが良いのでしょうか? コンテンツ全体で文字コードを統一した方が、文字化けが起こりにくいと 聞いたんですが、本当でしょうか?

  • Perlの文字コード

    1-2年ほど前、Perl5.8でソース自体をUTF8N(LF)で記述するようになり、 以下のように書いていました。 use utf8; use encoding "utf8"; use Encoding; それからPHPに移り、PHPでは、ソースはEUC-JP、DBもEUC、HTMLに出力する際もEUC-JPで統一していました。 最近またperlを使い出して疑問に思ったのですが、 perlではどのような文字コードで統一すれば一番よいのかということです。 javascriptはUTFだと動作しない端末(ザウルス)などあり、 perlもEUC-JPで統一しようと考えています。 昔、UTF8にこだわったのは、おそらく 「構」という文字は5Cなので、 文字コードによる不具合(ソース,js,cssで)を避けるためと、流行のUTF8にしたと思います。 perlでEUC-JPで文字コード統一させるメリットデメリットが知りたいです。 最近perlで書かれたサイトでHTML出力がShift_JISだったのですが、perlソースもシフトJISかは知りませんが、Shift_JISで統一するデメリットが知りたいです。 あと、WEBでどの文字コードが現在主流で、今後どうなるかも知りたいです。 EUC-JPで安泰なら、話は早いですが・・・

    • ベストアンサー
    • Perl
  • タイトルとコンテンツの文字コードが違う

    HTMLでウェブコンテンツを作成しているのですが、(質問タイトルのとおり)タイトルとコンテンツの文字コードが違います。 タイトル: ISO-2022-JP コンテンツ: EUC-JP つまり、コンテンツは正常に表示されるのですが、タイトルが文字化けしてしまいます。 タイトルの方の文字コードに合わせると、コンテンツが文字化けしてしまいます。 使用している環境について、 OS: Linux Fedora Core 6 PHP: バージョン5.2.5 Apache: バージョン2 HTML文書の一部は以下のとおりです。(文字コードの宣言を一番にしています。) <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <title>タイトル</title> </head> 尚、php.iniやhttpd.confの文字コード設定はすべてeuc-jpにしています。 以上です。よろしくお願い致します。