5桁のUNICODEについて
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
fjksudou
投稿数: 180

xpa2.4cPT2の環境において、
UNICODE文字を使用しており、
コードが5桁の文字「𠮷」の運用に苦戦しております。
クライアント実行で、
Windows8の端末は一応正常に入力及び表示しています。
windows7の端末は空白になって表示します。当然入力はできません。
RIAで表示しようとすると強制終了します。
マニュアルには、
「サロゲート・ペア文字(4バイトのUnicode文字)については、現在対応されておりません。」
と記載があります。
皆様はどのように対応しておりますでしょうか?
RIAで正常に表示をさせたいのですが、バージョンを3.1に上げることによって対応は可能ですか?
よろしくお願いいたします。
UNICODE文字を使用しており、
コードが5桁の文字「𠮷」の運用に苦戦しております。
クライアント実行で、
Windows8の端末は一応正常に入力及び表示しています。
windows7の端末は空白になって表示します。当然入力はできません。
RIAで表示しようとすると強制終了します。
マニュアルには、
「サロゲート・ペア文字(4バイトのUnicode文字)については、現在対応されておりません。」
と記載があります。
皆様はどのように対応しておりますでしょうか?
RIAで正常に表示をさせたいのですが、バージョンを3.1に上げることによって対応は可能ですか?
よろしくお願いいたします。
投票数:0
平均点:0.00
nkmt
投稿数: 1668

Windows 7
xpa3.1 クラサバ開発版で実行
その文字をUnicodeVALすると 55362 が出てきました。
入力も可能です。
ところがUnicodeCHR(55362)を
Unicode型の変数へ代入しても画面に表示されません。
xpa3.1 クラサバ開発版で実行
その文字をUnicodeVALすると 55362 が出てきました。
入力も可能です。
ところがUnicodeCHR(55362)を
Unicode型の変数へ代入しても画面に表示されません。
投票数:0
平均点:0.00
fjksudou
投稿数: 180

nkmtさん
ありがとうございます。
私もUnicodeVAL同じでした。
10進数だと134071なんですよね。
ヘルプでは
「Unicodeの文字コードを表す数値 (0 〜 65,535)」
なので桁あふれしています。
3.1も同じなんですね。
ありがとうございます。
私もUnicodeVAL同じでした。
10進数だと134071なんですよね。
ヘルプでは
「Unicodeの文字コードを表す数値 (0 〜 65,535)」
なので桁あふれしています。
3.1も同じなんですね。
投票数:0
平均点:0.00
nkmt
投稿数: 1668

UnicodeValで返ってきた 55362 は 10進数だと思います。
なので UnicodeChr(55362)で 𠮷 が取得出来ると思ったのですけど。
なので UnicodeChr(55362)で 𠮷 が取得出来ると思ったのですけど。
投票数:0
平均点:0.00
fjksudou
投稿数: 180

3.1からサロゲートペア文字のキー入力防止ができるようになったようです。
その他、なにか解決方法があれば、よろしくお願いいたします。
その他、なにか解決方法があれば、よろしくお願いいたします。
投票数:0
平均点:0.00
fjksudou
投稿数: 180

一応解決いたしました。
最新版のRIAで対応できないようなので、
入力チェックでエラーにする事にしました。
参考までに下記に記します。
ユーザ定義関数を用いて、
外部コール.NETでVB
Dim c As Char
Dim i As Integer=0
For Each c In 対象の項目
i=i+1
If Char.IsSurrogate(c) Then
intNo=i
Return True
Exit For
End If
Next
Return False
エラーメッセージに
MID(対象の項目,i,2)
最新版のRIAで対応できないようなので、
入力チェックでエラーにする事にしました。
参考までに下記に記します。
ユーザ定義関数を用いて、
外部コール.NETでVB
Dim c As Char
Dim i As Integer=0
For Each c In 対象の項目
i=i+1
If Char.IsSurrogate(c) Then
intNo=i
Return True
Exit For
End If
Next
Return False
エラーメッセージに
MID(対象の項目,i,2)
投票数:0
平均点:0.00