SJIS

[戻る]
T.T 2006/01/08(日) 21:37:21
漠然とした質問で申し訳ございませんが
作成したアプリケーションでなんらかが原因で
IMEパッドのシフトJISの「や」の文字が全角スペースとなって
テーブルが壊すといった現象を経験した方いらっしゃいますか?

文字コード表の文字セット
Windows:日本語
U+3000(0x8140) Ideographic Space
Unicode : 0x3000
JIS : 0x2464
シフトJIS : 0x82e2
区点 : 00468
「や」の部分が空白になっておりました。

経験のある方よろしくお願い致します。

シャノン 2006/01/09(月) 15:45:08
「テーブルが壊す」ってどういう現象?
Unicode と他のコードページのマッピングテーブルが壊れたってことかな。
そういう経験はありませんが、俺の IME パッドでは、「や」は

Unicode : 0x3084
JIS : 0x2464
シフトJIS : 0x82e2
区点 : 00468

でした。
ちなみに U+3000 は

JIS:0x2121
SJIS:0x8140
区点:00101

でした。

T.T 2006/01/10(火) 09:38:18
お返事おくれました。
確かにシャノンさんの内容が正しいのです。

作成したアプリケーションはjavaとC++を動かしております。お互いはJNIでデータ渡しし
ております。

このプログラムが原因なのか、どうすればこのような現象がでるのかが全くわかりません。
ネットでも事例が見つからず困っております。

「や」入力はWordやNotepad等は問題ないですが、メモ帳などで空白表示されてしまいま
す。必ず「や」が発生しますね。
この部分のメモリを破壊しているのかな?

PATIO 2006/01/10(火) 10:14:47
開発環境や使用している言語関係の情報をきちんと公開すべきだと思いますけれど。
何をやっているソフトを差してそういう現象が起こっているのかも明示した方が
レスポンスはつきやすいと思います。

今提示されている内容では雲をつかむよう話です。

シャノン 2006/01/10(火) 15:24:24
実のところ、Unicode と他のコードページとの変換テーブルは、プラットフォームごと
にまちまちです。
ですから、特定の OS 内とか、Java 同士だったらうまく行くところが、プラットフォー
ムをまたいだ瞬間に崩れる可能性はあります。

こんな感じ。
http://www.asahi-net.or.jp/~hc3j-tkg/unicode/

ただし、上記ページには、今回問題になっている「や」がありませんので、これが原因
かどうかは分かりません。

T.T 2006/01/11(水) 14:08:00
PATIOさんの言うとおりですね。
開発環境
c:
.net2003
java:
JBuilderX

動作環境
フレームワーク1.1
jre-1_5_0_06
WindowsXP サービスパック1
です。

動作
c:
主にシリアルデータ、LANデータの送受信
java:
送受信したデータを画面に反映、制御を行う。
です。

ちなみに
マッピングですか…。
うーん、このようなプログラムは以前にも作って動作させていてその端末は問題なし。
今回発生したとなるとその実績プログラムの改造が影響したのかも…

T.T 2006/01/11(水) 16:15:54
申し訳ございませんがご存知でしたらお願いします。
IMEパッドー文字一覧 シフトJISのファイル名ってご存知でしょうか?

T.T 2006/01/11(水) 23:06:27
解決しました。
とある製品のVerUp.exeを実行すると、色々レジストリに書き込む処理を行うみたいです
がそこで書き換わって、上記のような現象が発生します。

どの部分が書き換わってこのようになるのかはまだ辿りついていないのですが再現性が
わかりました。

古いスレッドには追加発言できません。