HTML作成の際、文字化けを防ぐためにたいていは使用する文字コードを指定することになると思いますが、種類が沢山あってどれを使っていいのやらよくわかりません。私の知る限り、

Shift_JIS
x-sjis
EUC
iso-2022-jp

などが使われていると思いますが・・・。
いったどれがいいんでしょうか?それぞれの特徴や、一般的な傾向など、わかりやすく説明していただけないでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

http://www.mikeneko.ne.jp/~lab/kcode/web.html
 ここは参考になりますでしょうか?
 シフトJIS、EUCどちらを指定してもO.K.みたいです。

 参考URLは文字コード関連のサイトにリンクされているページです。

参考URL:http://www.zukeran.org/shin/jdoc/
    • good
    • 0
この回答へのお礼

ありがとうございます。
あまり神経質になる必要はなさそうですね。
しかし、教えていただいたリンク先にあった、「美乳」には驚きました。

お礼日時:2002/02/26 14:56

webサーバの仕様によって異なります。

サーバ自体が特定の文字コードしか扱えない場合はどうしようもありません(海外のサーバを利用する時は注意が必要)。単純にこちらの指定だけでどうにかなる、というものではありません。

逆に、ユーザが指定した文字コードを応答ヘッダに含めてくれるサーバ(最近の国内のサーバはよほどショボくないかぎりやってくれる、と思う)であれば、使用している文字コードを正しく指定すれば確実に文字化けを防げます。


参考までに私が回答している過去の質問を列挙します。そのなかの私の回答を読んでもらえれば、だいたい把握できるんではないかと思います。

サーバと文字コードの関係
http://www.okweb.ne.jp/kotaeru.php3?q=185001

サーバの応答ヘッダを調べる
http://www.okweb.ne.jp/kotaeru.php3?q=164346

Shift_JISとx-sjis
http://www.okweb.ne.jp/kotaeru.php3?q=224621
    • good
    • 0
この回答へのお礼

ありがとうございます。
リンク集、参考になりました。

お礼日時:2002/02/27 10:11

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q文字コードを指定する際sjisなのかshift_jisかshift-jisなのか

お世話になります。
perl5.8において文字コードを指定or変換する際
shift_jis
shift-jis
Shift_JIS
SJIS
EUC_JP
EUC-JP
utf-8
utf8
-と_の違いや大文字小文字の違いなど記述の違いを良く見かけるのですが、実際決まった指定方法などはあるのでしょうか。
逆に文字コードを指定する際、●●のように指定しても無効で●●のように指定しないと有効ではないですよ。。みたいな。

またperlに限らずPHPやHTML、XMLなどではどうなっているのでしょうか

どなたかご存知の方いましたら
・上記3つの文字コードについてと
・perlのバージョンの違い、言語の違いなど

文字コードの文字列の指定に関する全般についてご教授願えませんでしょか。

宜しくお願い致します。

Aベストアンサー

文字コードを指定するモジュールによって、指定する文字列が違う場合があります。

たとえば、JcodeでシフトJISコードを指定するときはは'sjis'ですが、
Encodeでは次のような正規表現になります。

/\bshift.*jis$/i
/\bsjis$/i

これは、shift-jisでもShift_jisでもsjisでもSJISでもマッチします。
極端な話、shift(・∀・)jisでもマッチします(多分)

他の文字コードでも同様に正規表現でエイリアスが設定されていますので、詳しくはEncodeモジュールのperldocを参考にしてください。

QShift-JIS? Shift_JIS?

metaタグの文字コードの記述で質問がございます。

Shift-JIS(ハイフン)
Shift_JIS(アンダーバー)

どちらが正しいのでしょうか?

hift-JISで当然のように説明しているサイトもあれば
Shift_JISが正解ですって説明しているサイトもあるので
どう判断すればよいのか分かりません。(^_^;)ゞ
ご存知でしたら宜しくお願いいたします。

Aベストアンサー

Shift_JISが正しいです。
http://www.iana.org/assignments/character-sets

>These are the official names for character sets that may be used in the Internet and may be referred to in Internet documentation.

>Name: Shift_JIS (preferred MIME name)
MIBenum: 17
Source: This charset is an extension of csHalfWidthKatakana by
adding graphic characters in JIS X 0208. The CCS's are
JIS X0201:1997 and JIS X0208:1997. The
complete definition is shown in Appendix 1 of JIS
X0208:1997.
This charset can be used for the top-level media type "text".
Alias: MS_Kanji
Alias: csShiftJIS


>However, no distinction is made between use of upper and lower case letters.

なお大文字小文字は区別されませんのでどちらで書いても大丈夫です。

=============
オマケ:ドメイン名のIANAって何よ?
http://ja.wikipedia.org/wiki/IANA

Shift_JISが正しいです。
http://www.iana.org/assignments/character-sets

>These are the official names for character sets that may be used in the Internet and may be referred to in Internet documentation.

>Name: Shift_JIS (preferred MIME name)
MIBenum: 17
Source: This charset is an extension of csHalfWidthKatakana by
adding graphic characters in JIS X 0208. The CCS's are
JIS X0201:1997 and JIS X0208:1997. The
complete definition is sho...続きを読む

Q文字コードEUC→SHIFT-JISにすると動作しません

http://cgikon.com/search/detail.php3?menu=1&cgi_id=412

上記の簡単なスクリプトを使いたいと思っています。
文字コードがEUCとなっており、そのままの状態で設置すれば動作します。

EUCではなく、SHIFT-JISにして動作させたいのですが、中に書かれている「EUC - JP」を「SHIFT - JIS」に書き換えて、またファイルの文字コードも「SHIFT-JIS」として保存しました。
またCSVデータも「SHIFT-JIS」に変換して保存。

変換したファイルをアップしてみましたが、表示される表の数値の箇所が真っ白になってしまいます。
一番上の行と一番左の列は表示されます。
足し算される数値の部分だけが表示されません。

どのようにすれば、EUCからシフトJISに変換して、動作させる事ができるのでしょうか。


アドバイスをお願い致します。

Aベストアンサー

> なぜシフトJISにすると、全角スペースがあるとダメだったのか分かりませんが、とりあえず解決して良かったです。

ShiftJISの場合、全角空白は 0x81 0x40 という並びです。

>echo " "|hexdump
00000000: 22 81 40 22 0A ".@".

見事に '@' が隠れているのでこれが誤動作の引き金になりえます。

QEUC-JPとShift_JISのどちらがいい?

ホームページ制作の時に指定する文字コードについて
Shift_JISとEUC-JPのどちらがいいのでしょう?

今までは私自身Shift_JISを使っていましたが、会社的にEUC-JPに統一しようという動きになってきていて、デメリットがあればやめようかなとも思っています。

メリットとデメリットがあれば教えてください。
また、各データベースを使ったりもします。

Aベストアンサー

こんにちは。

私は趣味でサーバを構築したりプログラムしているものです。
アドバイス程度に受け止めていただけると幸いです。

文字コードの問題については、非常に難しく一概に決められない。とは思います。
ただ、今の段階で決めるなら、「何をやるか」によって違ってきます。

私の場合は、Perl言語によるCGIを始めてから、プログラムもHTMLも「EUC」で書いてきました。
Perl言語は文字コードに強い言語ですが、UNIX系で作られたこともあり、EUC以外の文字コードですと不具合が無いとも限りません。特に「正規表現」あたりで思いもしない動作をするかもしれませんね。
私は、昔C言語を勉強していたとき、最初に作ったプログラムが、SJISで書かれた文字列をEUCに変換する物でした。
どの文字コードも微妙に仕様が違っており、さらに日本語は数万種類もの文字があるので苦労したのを覚えています。
話しがずれましたが、
サイトの中にPerl言語を使ってCGIといったプログラムを作成する場合もある。また、サーバのOSはLinuxないしUNIXだ。
と、いうのなら、「 CGI以外 」のページもEUCにした方が文字化けする可能性はちょっぴり減ります。ほんの少しですけど。(^ ^ ;ゞ

また、世の中のほとんどのパソコンにWindowsが入っているという面で考えれば(サーバ側もWindowsもかなり多いです)、SJISのままでもいいでしょう。
たとえば、サイトの一部を誰かに修正やら手伝ってもらう場合、相手がSJISしか対応していないエディタしかもっていなかったら、何も出来ませんし。

また、SJISとEUCだけではありません。FlashやXMLやJAVAといった新しい技術ではUTF-8という物を採用しています。Linuxの世界でも、この文字コードを採用するとこが多くなってきました。
将来は、UTFがスタンダードになるという予想をする人も多いようです。

私も最近までEUC一筋でしたが、JAVAやFLASH、そして新しいLinuxOSを入れてUTFが標準な環境になってきたので、すべてUTF-8に修正しました。

また、臨機応変に変更する、もしくは変更できるようにしておく事も大事だと思います。

こんにちは。

私は趣味でサーバを構築したりプログラムしているものです。
アドバイス程度に受け止めていただけると幸いです。

文字コードの問題については、非常に難しく一概に決められない。とは思います。
ただ、今の段階で決めるなら、「何をやるか」によって違ってきます。

私の場合は、Perl言語によるCGIを始めてから、プログラムもHTMLも「EUC」で書いてきました。
Perl言語は文字コードに強い言語ですが、UNIX系で作られたこともあり、EUC以外の文字コードですと不具合が無いとも限りません。...続きを読む

QPostgreSQLの標準文字コードをShift_JISにしたい

CygwinでPostgreSQLを動かしています。
PostgreSQLの標準文字コードをShift_JISにしたいんですが、どうコマンドを打てば良いか分かりません。

本にはEUC-JPを指定する際は
$ initdb -D /usr/local/pgsql/data -E EUC_JP
と打つと書いてありますが、EUC_JPの部分をShift_JISとするとエラーになります。

Shift_JISに設定するにはどのように打てばよいんでしょうか?

Aベストアンサー

PostgreSQLって、サーバ側charsetとしてShift JISは、サポートして無い(即ち、-EでSJISは指定できない)のでは。
代わりに、クライアントとの間でのEUC_JP⇔SJIS自動変換機能を持っていますが。

参考URL:http://www.postgresql.jp/document/pg742doc/html/multibyte.html#CHARSET-TABLE

QEUC-JPをShift_JISに変えても大丈夫ですか?

YahooのジオクリエイターでHPを作っていたら文字コードが<meta http-equiv="content-type" content="text/html; charset=EUC-JP">このようになっているんですが
<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">に変えてしまっても問題ないんでしょうか?

複数ページがあって、いくつかのページだけEUC-JPで、ほかのページはShift_JISでした。

Shift_JISがメジャーと聞いたので全てのページの文字コードをShift_JISに変えてしまおうと思うんですが
ほかのタグなど一切変えず文字コードだけ変えて、今まで普通に見れてたものが見えなくなったり、何か不具合が起こることはないんでしょうか?

今後、ジオクリエイター以外の環境でHPを作成・編集することもできるようにShift_JISで統一させておいたほうがいいですよね?

よろしくお願いします。

Aベストアンサー

ジオクリエイターは知りませんが・・・
>いくつかのページだけEUC-JPで、ほかのページはShift_JISでした。
何故、今現在文字コードが混合しているのかわかりませんが、
NO.1さんご指摘のような CGIなどが絡まない単なるHTMLのテキストなら
保存時の ※「文字コード」も変更保存する必要もあります。

>Shift_JISで統一させておいたほうがいいですよね?
特に変更しなくても良いと思いますが・・・
例えばメールフォームを合体させるとかの必要に応じて(相性を合わせて)変更すれば良い事です。

UNIXでEUCを好む業界人が多いので「Shift_JISを利用しましょう」って回答はつかないでしょう。

QJAVAでのShift-JISとEUC-JP間の文字コード変換ができません

Windows環境で作成した「Shift-JIS(CP932)」のファイルを、
JAVAを使用して「EUC-JP」のファイルに変換したいのですが、
NEC選定文字(13区)等の追加された機種依存文字の変換ができません。

いろいろ調べてみたのですが、
文字コードの呼び方がサイトによってあいまいで、
どのページが正しいのかがわかりません。

・「Shift-JIS(CP932)」「EUC-JP」の正確な情報が記述されたサイト
・JAVAにおける文字コードの変換のノウハウ
に関しての知識をお持ちの方がいましたら、教えてください。

以下は変換に使用したJAVAのソースコードです。

InputStreamReader ins = new InputStreamReader(new FileInputStream(iFile), "windows-31j");
OutputStreamWriter outs = new OutputStreamWriter(new FileOutputStream(oFile), "euc-jp");
int c;
while ((c = in.read()) != -1) {
out.write(c);
}



以上です。
よろしくお願いします。

Windows環境で作成した「Shift-JIS(CP932)」のファイルを、
JAVAを使用して「EUC-JP」のファイルに変換したいのですが、
NEC選定文字(13区)等の追加された機種依存文字の変換ができません。

いろいろ調べてみたのですが、
文字コードの呼び方がサイトによってあいまいで、
どのページが正しいのかがわかりません。

・「Shift-JIS(CP932)」「EUC-JP」の正確な情報が記述されたサイト
・JAVAにおける文字コードの変換のノウハウ
に関しての知識をお持ちの方がいましたら、教えてください。

以...続きを読む

Aベストアンサー

>テキストエディタで、文字コードを「EUC-JP」に設定し「丸付きの1」を記入すると、画面上で確認できてしまいます。

最近のWindowsは内部コードがUnicodeですので画面上で確認できるのは必然ではないかと。
※画面上に出る時点ではメモリ上はUnicodeでファイルに保存する際に符号化されるはずです。

>また、バイナリエディタで作成したファイルを確認したところ、
>「0xADA1」で確認できてしまいます。
>これは、テキストエディタが勝手に「EUC-JP-ms」に変更しているのでしょうか?

そうですね。EUC-JPの種類は良く知らないのですが、
WindowsのShift_JISは純粋なShift_JISではないのと同義でしょう。

>NEC&IBMのベンダ依存文字が「EUC-JP」に定義はされているけど、Windows-31j → Unicode → EUC-JPの変換時に、Unicodeと他の文字コードとの対応の問題があって表示できないのでしょうか?

EUC-JPにベンダ依存文字は定義されていません。
EUC-JP-MSに定義されていてWindowsのEUCはこちらの文字セットを使っているにすぎないようです。
Javaの場合「EUC_JP_Solaris」というのがWindows-31J≧Shift_JISの関係と同様のようです。

参考URL:http://d.hatena.ne.jp/mir/searchdiary?word=*%5BJ2SE%5D

>テキストエディタで、文字コードを「EUC-JP」に設定し「丸付きの1」を記入すると、画面上で確認できてしまいます。

最近のWindowsは内部コードがUnicodeですので画面上で確認できるのは必然ではないかと。
※画面上に出る時点ではメモリ上はUnicodeでファイルに保存する際に符号化されるはずです。

>また、バイナリエディタで作成したファイルを確認したところ、
>「0xADA1」で確認できてしまいます。
>これは、テキストエディタが勝手に「EUC-JP-ms」に変更しているのでしょうか?

そうですね。...続きを読む

Q「x-sjis」「Shift_JIS」同じ意味?

<META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=x-sjis">
の「x-sjis」は「Shift_JIS」と同じ意味ですか?

「x-sjis」はIEのブラウザ右クリック→エンコードのどれに該当するのでしょうか?

Aベストアンサー

文字コードとしては Shift_JIS が正式名称ですが、IANA では MS_Kanji, csShiftJIS がエイリアス(別名)として定義されています。
http://www.iana.org/assignments/character-sets/character-sets.xml

一方、IE では Shift_JIS が正式名称な点は同じですが、csShiftJIS, csWindows31J, ms_Kanji, shift-jis, x-ms-cp932, x-sjis がエイリアスとして定義されています。
http://msdn.microsoft.com/en-us/library/ms537500.aspx

RFC2130 では "x-" で始まる文字コードを実験的な名称として定義しています。

--- quoted from RFC2130 http://www.ietf.org/rfc/rfc2130.txt
H: The current use of the "x-*" format for distinguishing
experimental tags should be continued for private use among
consenting parties. All other namespaces should be allocated by IANA.
---

Netscape Navigator 2.0 が x-sjis を普及させ、後に Shift_JIS として標準化された経緯があって Shift_JIS と x-sjis が混在されたようです。
IE はどちらも認識しますが、今となっては後方互換性を気にして x-sjis を使用する意味はないと思われます。
そもそも、IANA で x-sjis がエイリアスとして登録されていない時点で最近のブラウザでサポートする保障がありません。
正式名称である Shift_JIS を使用することをお勧めします。

文字コードとしては Shift_JIS が正式名称ですが、IANA では MS_Kanji, csShiftJIS がエイリアス(別名)として定義されています。
http://www.iana.org/assignments/character-sets/character-sets.xml

一方、IE では Shift_JIS が正式名称な点は同じですが、csShiftJIS, csWindows31J, ms_Kanji, shift-jis, x-ms-cp932, x-sjis がエイリアスとして定義されています。
http://msdn.microsoft.com/en-us/library/ms537500.aspx

RFC2130 では "x-" で始まる文字コードを実験的な名称として定義しています。

--- q...続きを読む

QEUC⇔Shift_JISの文字コード変換について

DB(OS:win2003、DBMS:MySQL Server5.0  文字コードはEUC)に対して
CSVファイルをインポート、エクスポートしようとしています。
入出力ファイル(CSVファイル)の文字コードはShift_JISのため、
文字コード変換が必要となってきています。

CSVファイルのインポート/エクスポート、文字コード変換は、
php5.2.5で構築しています。

今、エクスポート(EUC→Shift_JIS)したCSVファイルを、
エクセルで確認すると極一部が文字化けしてしまいます。

そこで質問が4つあります。
1.文字化けは仕方ないことなのでしょうか?
2.文字化けする文字を特定することはできるのでしょうか?
3.エクスポート方法、変換方法によって文字化けする文字は変わってくるので
しょうか?
4.みなさんはこのような文字化けの問題をどのように回避した経験お持ちですか?
  (文字化けは已む無し、文字コードを意地でも統一した、
   文字を特定して特殊文字に置き換えたなどなど)

基本的なことと思いますが、よろしくご教授願います。

 (3.4.はもっと詳細がわからないと何とも言えないかもしれません。
  ご回答頂く為には何を調べればいいのかからも教えてください。
  よろしくお願いします。)

DB(OS:win2003、DBMS:MySQL Server5.0  文字コードはEUC)に対して
CSVファイルをインポート、エクスポートしようとしています。
入出力ファイル(CSVファイル)の文字コードはShift_JISのため、
文字コード変換が必要となってきています。

CSVファイルのインポート/エクスポート、文字コード変換は、
php5.2.5で構築しています。

今、エクスポート(EUC→Shift_JIS)したCSVファイルを、
エクセルで確認すると極一部が文字化けしてしまいます。

そこで質問が4つあります。
1.文字化けは仕方...続きを読む

Aベストアンサー

詳しくありませんが
CP932,EUCJPMSを使用することで改善しないでしょうか。

QAptanaでHTMLファイル内のshift_jisやEUC-JPコードを表示できません。

HTMLファイルをAptanaで開くと、shift_jisやEUC_JPなどの日本語文字列が文字化けしてしまいます。
メニューバー等については、Pleiadesを導入することで、日本語化には成功しています。
ところが、ウインドウ→設定→ワークスペース→テキストファイルエンコードの欄で、上記の日本語コードが選択できません。
あるWeb上から得た情報では、この欄の選択リストに載っていないコードでも、手入力すれば、表示できるといったものもありましたが、私の環境では、そうしようとすると、すぐに、「選択されたエンコードはサポートされていません。」といったエラーが出て、できませんでした。
何かインストールし忘れているものがあるのかも知れませんが、現在の自分の頭のレベルでは、手詰まり状態です。どなたか、お知恵を拝借できませんでしょうか?

Aベストアンサー

以前自分でメモしていたものが見つかったので書いておきます。これでいけると思います。

[原因]
charsets.jarが欠けていることが問題。MS932等は拡張エンコーディングセットの扱いのため、 charsets.jarがないとMS932等が扱えない。(昔(Aptana1.0あたり)では入っていた)

[解決方法]
JavaをインストールするとC:\Program Files\Java\jre\lib\にcharsets.jarができるので これをC:\Program Files\Aptana\Aptana Studio\jre\libに入れればOK。

あとは文字エンコードの欄に「EUC_JP」などと手入力してやればいけると思います。

参考URL:http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/guide/intl/encoding.doc.html


人気Q&Aランキング

おすすめ情報