- PR -

文字コードの変換

投稿者投稿内容
未記入
会議室デビュー日: 2007/07/06
投稿数: 16
投稿日時: 2007-09-26 11:27
はじめまして。

VS2005のVBでWEBアプリを開発しています。

A画面からShift-JISの文字コードでB画面に値を渡し、
B画面で受取ったShift-JISの文字コードをUTF-8に変換して使用したいのですが
可能でしょうか?
例などをご教授願えれば幸いです。
rvmx
大ベテラン
会議室デビュー日: 2002/09/26
投稿数: 184
お住まい・勤務地: 愛媛県
投稿日時: 2007-09-26 12:10
今日は

UTF8文字 = Encoding.UTF8.GetString(Encoding.GetEncoding("Shift-JIS").GetBytes(shiftjis文字));
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2007-09-26 12:12
引用:

未記入さんの書き込み (2007-09-26 11:27) より:
A画面からShift-JISの文字コードでB画面に値を渡し、
B画面で受取ったShift-JISの文字コードをUTF-8に変換して使用したいのですが
可能でしょうか?


渡すのはサーバー側ででしょうか、それともクライアント側(Javascript?)ででしょうか。
サーバー側であれば、文字列はただの文字列であって文字コードという概念はありませんので、「Shift-JISの文字コードでB画面に値を渡(す)」こと自体ができません。
文字列ではなくbyte配列でなら渡せないこともありませんが。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-09-26 12:14
ここで聞く前に、どんなことを調べましたか?

つか


[消し]web.config とか、そっちの設定変えないと、Shift_JIS 入らないよ?[/消し]


サーバーサイドで処理するときには、UTF16になってるよ...

[ メッセージ編集済み 編集者: Jitta 編集日時 2007-09-26 12:17 ]
未記入
会議室デビュー日: 2007/07/06
投稿数: 16
投稿日時: 2007-09-26 14:23
引用:

一郎さんの書き込み (2007-09-26 12:12) より:
引用:

未記入さんの書き込み (2007-09-26 11:27) より:
A画面からShift-JISの文字コードでB画面に値を渡し、
B画面で受取ったShift-JISの文字コードをUTF-8に変換して使用したいのですが
可能でしょうか?


渡すのはサーバー側ででしょうか、それともクライアント側(Javascript?)ででしょうか。
サーバー側であれば、文字列はただの文字列であって文字コードという概念はありませんので、「Shift-JISの文字コードでB画面に値を渡(す)」こと自体ができません。
文字列ではなくbyte配列でなら渡せないこともありませんが。




一郎さん回答ありがとうございます。

詳しく書きますと
A画面(HTMLでエンコードがShift-JIS)からB画面(ASPXでエンコードがUTF-へ遷移。

A画面のテキストボックスの中身をB画面でRequestで取得。
B画面でRequestで取得した値が文字化けしてしまう。
これはB画面で文字コードを変換すればいいのでしょうか?
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2007-09-26 16:21
引用:
B画面でRequestで取得した値が文字化けしてしまう。
これはB画面で文字コードを変換すればいいのでしょうか?

B画面のrequestEncodingをShift_JISにすればいけますかねえ。
未記入
会議室デビュー日: 2007/07/06
投稿数: 16
投稿日時: 2007-09-26 17:35
引用:

べるさんの書き込み (2007-09-26 16:21) より:
引用:
B画面でRequestで取得した値が文字化けしてしまう。
これはB画面で文字コードを変換すればいいのでしょうか?

B画面のrequestEncodingをShift_JISにすればいけますかねえ。




べるさん回答ありがとうございます。
requestEncodingをShift_JIS
とのことなのですが、ヘルプなどを見ても
具体的な設定のしかたがわかりませんでした。
なにか設定例などを教えてくれると幸いです。
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2007-09-27 09:00
Bページだけの入力エンコーディングを変えるということだと、
BページのPageディレクティブで RequestEncoding="Shift_JIS" ですかね。

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