ブラウザがCGIに渡す文字コードを教えて
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさんZ80
NGNGはたまた、IEの低いバージョンだとこんな渡し方をしてしまう
とか そのたもろもろ、、
解説してくれているページおしえてくれるだけでもたすかるな。
0002名無しさん
NGNGどれくらいの人がNTTを嫌っているのか知りたいので。
まず自分..1票。
0003名無しさん
NGNG0004アウアウアー
NGNGアウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
アウアウアー
0005名無しさん@そうだ選挙にいこう
NGNG0006名無しさん@そうだ選挙にいこう
NGNG>>1
送信する文字コードは、おそらくブラウザが現在表示している文字コードに左右されると思います。
5年くらい前(当時は IEはまだ無かった)には Shift-JISのページにも EUCのデータが来ていましたが、
最近はそういうことはほとんど無いような気がする。
どのバージョンからはっきりそうなのかと聞かれるとよくわかりませんが。
あと半角カナについては、いちおう一般的な EUCにも対応する文字コードはあるようです。
確信は無いですが普通は 0x8E〜〜で来るのではないでしょうか?
正確には2バイト半角カナと3バイト半角カナという規格があって、
ブラウザ側の OSのインプリメントに左右されるのかもしれませんけれど・・・。
0007名無しさん@そうだ選挙にいこう
NGNG0008投票マニア
NGNG0009名無しさん@そうだ選挙にいこう
NGNG0010名無しさん@そうだ選挙にいこう
NGNGとりあえずちゃんとした資料でも読もうぜ。
http://hp.vector.co.jp/authors/VA001240/article/charcode.html
Shift_JIS のページのフォームでも、ISO-2022-JP とか EUC-JP で送ってくる
クライアントもあるさ。そもそも現在表示中のページの charset と同じ
エンコーディングで送るべし、って規格で決まってたりするの? (純粋な質問)
0011Be名無しさん
NGNG現在表示中のページの charset と同じ エンコーディングで
送ってくるだろっ??
送ってこないものの例をあげろよ
001210
NGNG具体的な UA の名前は知らない。でも、2ch でも化け化けの
発言をよく見かけるでしょ。適切に文字コードを変換してれば
そんなことはおこらんさ。
0013名無しさん@そうだ選挙にいこう
NGNG日本語に対応してないブラウザ全部。
エディタから無理矢理EUCのテキストコピペしてカキコしたら
ちゃんと変換してくれるとこもあるし、化けるとこもある。
0014名無しさん@そうだ選挙にいこう
NGNGネスケ4.xxならEUCのフォームに半角カナで書きこめば、S-JISで
返してくるじゃん。少しは実験でもしてみろよ。
同じキャラクタセットで返ってくりゃ、12の言うとおり、誰も
コード解析で苦労しないさ。
0015名無しさん@そうだ選挙にいこう
NGNGおまえわかってないだろ。
君のあげた例はどちらも、ちゃんとどちらも、
「現在表示している文字コード」でブラウザが送信しているよ。
化けるか化けないかはサーバ側の問題。
>14
なるほど、、ネスケ4.xxはフォームのコードを自動判別して
送ってくるのね、
半角カナ混じりの場合、(統計的手法を使わずに)自動判別って
不可能だよね、 なんでんなクソな使用なんだろ。。
0016名無しさん@そうだ選挙にいこう
NGNGJISで送ってきたよ。
0017名無しさん@そうだ選挙にいこう
NGNG↑↑意味が分からん。
0018名無しさん@そうだ選挙にいこう
NGNGまさかmetaじゃ無いでしょうし。
001916
NGNG<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
を出力して、その頁内にある入力フォームの書き込みボタンを押した際に
起動されるCGIという意味です。
すいません、↓はどういう意味ですか?
>自作の、アクセスするとhttp-headerにcharset=shift_jisを流すCGIって事でしょう。
>まさかmetaじゃ無いでしょうし。
002016
NGNG『http-headerに流す』という意味がわからないんですけど・・・
CGI歴は3万STEP程度ですが。
0021無名
NGNGCGIを呼ぶページのContent-typeをShift_JISにするとか。
002216
NGNGでそれをやるのに、以下のようにmetaタグに書く以外の方法が
あるのなら知りたいんですけど。
printf ( "Content-type: text/html\n\n");
printf ( "<html>\n\n");
printf ( "<head>\n");
printf ( "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=shift_jis\">\n");
printf ( "<title>%s</title>\n"@` gTitle);
printf ( "</head>\n");
printf ( "<body ");
以下CGIを呼ぶフォームなどを出力。
0023名無しさん@1周年
NGNG受け取ったCGIが、そのvalueから漢字コードを調べれば?
0024>16
NGNGeuc-jp/shift_jis/iso-2022-jp などの文字コードを特定できるはずでしょ?
charset はその特定を用意にするための付属情報に過ぎないのね。
本来は web サーバが
Content-type: text/html; charset=Shift_JIS
としてクライアントに charset を知らせるべきなわけ。でもそれが
できない場合の代替手段が meta による charset 指定なのよ。
<meta http-equiv="foo" content="bar">
ってのは HTTP のレスポンスヘッダに
foo: bar
と書くのと同じ。もちろんそれを正しく解釈してくれるかどうかは
クライアント次第。
何万ステップ書くのもいいけど、いろんな規格を読むなどの
勉強もしような。CGI ってのはあくまでインタフェースなんだから。
0025名無しさん
NGNG以外にも
CGIだったら
print "Content-Type: text/html;charset=shift_jis\n\n";
HTMLだったら
<a href="URI" charset="shift_jis">xxx</a>
<textarea rows=10 cols=76 lang="JA" accept-charset="shift_jis">
<form method="POST" action="URI" enctype="TEXT/PLAIN" lang="JA" accept-charset="shift_jis"> </form>
<form method="POST" action="URI" enctype="MULTIPART/FORM-DATA" lang="JA" accept-charset="shift_jis"> </form>
な感じで指定できるよん。
002625
NGNGついでだからもう一つ
.htaccessで
ADDType "text/html; charset="EUC-JP" html
なこともできるよ。
002716
NGNG一度時間をとって、ちゃんと規格読まなきゃ駄目だな。
■ このスレッドは過去ログ倉庫に格納されています