PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
24023 15/09/19 17:23:21 RE:PB12.5: SJIS→JIS変換ができません By めめ
24021 15/09/15 16:22:15 RE:PB12.5: SJIS→JIS変換ができません By asano01
24019 15/09/11 16:09:41 PB12.5: SJIS→JIS変換ができません By love14kn

カテゴリ:スクリプトの記述
日付:2015年09月11日 16:09 発信者:love14kn
題名:PB12.5: SJIS→JIS変換ができません

元々PB6で開発していたソフトをPB12にマイグレーションしたところ
SJISからJISへの変換関数(1byteごとのASCIIコード判断方式)が
動かなくなってしまいました。

調査の結果MidAが2byte文字に対して長さ1byteで切り取ったときに
0byteとして帰ってくるのが原因というところまでは分かったのですが
2byte文字の2byte目のASCIIコードをうまく取得する方法はないでしょうか?

またはASCIIコード判断以外でSJIS→JIS変換する方法はないでしょうか?


---------------------------------------------------
PB6.0
---------------------------------------------------
string  chr
integer sj1, sj2, sj0

chr = "あ"
sj1 = Asc( Mid( chr, 1, 1 ) )
sj2 = Asc( Mid( chr, 2, 1 ) )
sj0 = Asc( Mid( chr, 2, 2 ) ) //参考用

結果
sj1 → 130  len( sj1 ) → 1
sj2 → 160  len( sj2 ) → 1
sj0 → 130  len( sj0 ) → 2 //参考用
---------------------------------------------------


---------------------------------------------------
PB12.5
---------------------------------------------------
string  chr
integer sj1, sj2, sj0

chr = "あ"
sj1 = AscA( MidA( chr, 1, 1 ) )
sj2 = AscA( MidA( chr, 2, 1 ) )
sj0 = AscA( MidA( chr, 1, 2 ) ) //参考用

結果
sj1 →   0  len( sj1 ) → 0
sj2 →   0  len( sj2 ) → 0
sj0 → 130  len( sj0 ) → 2 //参考用
---------------------------------------------------

付加情報:

PowerBuilder Version 12.5

Client SoftWare

OS (記載なし)
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.