トップページphp
984コメント425KB

■■ Servlet/JSP(EJB含む) 質問スレ ■■

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/06/08 11:03ID:Kkr1yl67
って無いよな?
というわけでつくたよ。
0726nobodyさん03/02/07 04:34ID:???
>>725
>>724 じゃないけど、ブラウザは HTTP の Content-Type ヘッダを見て
文字コードを決定している。もちろんそれで解決できなければ <META>
タグも見るけど。

Content-Type の charset 指定はクライアントが受信する文字コードで
あり、同時にサーバ側で出力する文字コードだから、サーブレットは
setContentType() の設定値を見て出力文字コードを決定しているだけ。

ちなみに WebSphere の開発では setContentType() で Shift_JIS を
指定すると「−」「〜」などが文字化けするので、変わりに Cp943C
(Shift_JIS の IBM 版) を指定する。ただしこれはブラウザ側が知ら
ない文字コードなので、このままだと自動認識が走ってたまに化けて
しまう。なので、<META> タグに Shift_JIS を宣言して、サーバ側で
は Cp943C、クライアント側では Shift_JIS で認識させてやらないと
いけない。
0727nobodyさん03/02/07 04:45ID:???
ちなみに <META> タグの HTTP-EQUIV 属性のもともとの意味が「HTTP
ヘッダと同意に扱え」という事を考えれば、<META> タグによる Content-Type
指定が setContentType() によってもたらされる Content-Type ヘッダと
同じ動きをするということになる。

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS"> ≒ Content-Type: text/html; charset=Shift_JIS

今のブラウザはどうだか知らないけど、昔 HTTP-EQUIV に Location を指定して
やったらちゃんとリダイレクトと同じ動きをした記憶がある。そのほかにも
<META> タグを使用して Cache-Control や Pragma に no-cache を指定する
こともできる (IE しか知らんけど)。
■ このスレッドは過去ログ倉庫に格納されています