- PR -

丸付き数字を使用するためには

1
投稿者投稿内容
シュワンツ
ベテラン
会議室デビュー日: 2002/08/27
投稿数: 56
投稿日時: 2002-11-05 17:44
超初心者です
現在、Tomcat+JSP にて開発しています

丸付き数字の入力/表示を行ないたい
現在、String("パラメタ".getBytes("8859_1"),"JISAutoDetect");
のように、sjis→8859に変換しています
どうもここで変換エラーとなり、?に変換される

皆さんどのように、対応しているのですか?
よろしく、お願いします
ジェイ
ベテラン
会議室デビュー日: 2002/10/06
投稿数: 62
投稿日時: 2002-11-05 21:59
PrintWriter out =
new PrintWriter(new OutputStreamWriter(res.getOutputStream(), "Shift_JIS"));

の様に、すべて「Shift_JIS」にして回避した記憶があります。
ただし、サーバもクライアントもWindows環境という前提でしたが・・・
はじめは「sjis」指定だったのですが、「Shift_JIS」じゃないと?になっていました。
はずしてたらすいません。
しょむ
ぬし
会議室デビュー日: 2001/09/06
投稿数: 430
投稿日時: 2002-11-06 03:32
いろんなところで書きまくってる気もしますが、Shift_JIS では 1.4 以降は機種依存文字を扱えません。

機種依存文字を使いたければ、Windows-31J (もしくは MS932、CP932)を使いましょう。

SJIS では機種依存文字が扱えません。Shift_JIS は 1.3 までは CP932 と同等でしたが、1.4 以降では SJIS と同等になります。
少なくとも Sun の処理系は JISAutoDetect の「シフトJIS」を SJIS で扱いますので、機種依存文字は使えません。

また、XML (実は HTML 含む)でも、charset=Shift_JIS の場合は機種依存文字を扱える方が規格に従っていません。Windows-31J を使いましょう。


[ メッセージ編集済み 編集者: しょむ 編集日時 2002-11-06 03:34 ]
シュワンツ
ベテラン
会議室デビュー日: 2002/08/27
投稿数: 56
投稿日時: 2002-11-07 17:15
皆さんありがとうございます

試してみたのですが、丸付き数字2のみ変換が異常です。
※丸付き数字2以外は、入力/表示に問題ありません

環境は、Tomcat 4.0.6 + JDK1.3.1_04です
※Tomcat 4.0.6 + JDK1.4.0_02でも同様な事象が発生します

※コーディング例
= new String("パラメタ".getBytes("ISO-8859-1"),"Windows-31J");

[ メッセージ編集済み 編集者: シュワンツ 編集日時 2002-11-07 17:20 ]
1

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