@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

cookieの文字化け

1
投稿者投稿内容
モグリ
会議室デビュー日: 2005/02/10
投稿数: 5
投稿日時: 2005-12-16 14:20
モグリと申します

ASP.NET (言語はvb.net) でアプリケーションを作成しています

ページの初回ロード時にcookieの値を取得すると文字化けしてしまう現象が起きています。
表示後、ボタンクリックイベントにて取得すると文字化けせずに取得できます。

ちなみに、開発環境のWindows2000ではこの現象は起きていません。
Windows 2003Server に乗せて実行すると文字化けします。


原因が分からず困っています。
ご存知の方がいらっしゃいましたらご教示ねがいます。

※マルチバイト文字をcookieに保存する際にはUrlEncodeなど行っておりません。が、保存している部分のソースは別システムの為変更することはできません。

WebConfig設定--------------------------------------

<globalization requestEncoding="shift-jis" responseEncoding="shift-jis" />


取得する箇所のコーディング---------------------------

Dim name As String = CStr(HttpContext.Current.Request.Cookies("NAME").Value)
Me.a.Text = name



【サーバー環境】
WindowsServer 2003
.NetFramework 1.1
IIS 不明

【開発環境】
Windows2000
VisualStudio.NET 2003
IIS 5.0
.NetFramework 1.1

[ メッセージ編集済み 編集者: モグリ 編集日時 2005-12-16 14:21 ]
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2005-12-16 15:38
初回ロードは非sjisな頁から呼んでませんか?
モグリ
会議室デビュー日: 2005/02/10
投稿数: 5
投稿日時: 2005-12-16 16:08
ご返信ありがとうございます。

呼び出し元ページもShift-jisです。

調査しておりますが
どうやら、継承元のページに問題がありそうです。

継承をやめて、取得したところ初回表示時にも文字化けありませんでした。

継承元のページもShift-jisでつくられております。

子PageクラスのNew() の時点でcookieを取得した際も正常に取得することはできませんでした。
New()の最初の箇所で取得したのですから、継承元のコードは一切動いていないはずですよね?
なぜなのでしょう。

もう少し継承元のクラスを調査してみたいと思います。

(大変申し訳ございませんが、以降月曜までご返信することができません。自己都合で大変申し訳ございませんが、月曜日以降またお助けいただければ幸いです。)
1

スキルアップ/キャリアアップ(JOB@IT)