Xojo iOS / CubeSQL Json Connect Select, etc..

CubeSQLをJsonでConnectし,Select等を行う際に代入する値に日本語などが入っている場合,そにままUTF-8に変換しても動作しない。

以下のようにuTF16BigEndianに変換の後に\uでユニコード文字にエスケープする必要がある。

—-

// ‘で囲まれた文字列はuTF16BigEndianに変換の後に\uでユニコード文字にエスケープする

Dim tt As Text = “{“+&u22+”command”+&u22+”:”+&u22+”SELECT”+&u22+”,”+&u22+”sql”+&u22+”:”+&u22+SQLstr+”;”+&u22+”}”

Dim sFlag As Boolean
Dim s As Text
Dim i As Integer
DIm nn As MemoryBlock

for i = 0 to tt.Length-1
if tt.Mid(i, 1) = “‘” Then
// 文字列開始もしくは終了があった
if sFlag Then
sFlag = False
// 文字列終了
else
sFlag = True
end if
s = s+tt.Mid(i, 1)
else
if sFlag Then
// 文字列処理中

nn = xojo.Core.TextEncoding.UTF16BigEndian.ConvertTextToData(tt.Mid(i, 1))
s = s+”\u”+mb2hex(nn)
else
s = s+tt.Mid(i, 1)
end if
end if
next

This entry was posted in iOS, Xojo. Bookmark the permalink.

Comments are closed.