从LiveCode中的数据网格中提取Unicode数据

从LiveCode中的数据网格中提取Unicode数据,unicode,livecode,Unicode,Livecode,我们正在将我们的应用程序翻译成日语,并且一直在努力从数据网格获取UTF-16文本。我们尝试了各种数据的单编码、单解码组合,结果都是乱码。我们首先覆盖了DataGrid,所以我们可以看到DataGrid中的日本人是正确的。但是,当我们使用GetDataOfLine或dgDataOfLine将其取出,然后尝试对其进行解码时,它是乱码。当前的想法是,我们需要创建另一个处理程序,如GetUnicodeDataOfLine。有什么想法吗?除非用户编辑某些内容,否则datagrid不会修改dgData,此时

我们正在将我们的应用程序翻译成日语,并且一直在努力从数据网格获取UTF-16文本。我们尝试了各种数据的单编码、单解码组合,结果都是乱码。我们首先覆盖了DataGrid,所以我们可以看到DataGrid中的日本人是正确的。但是,当我们使用GetDataOfLine或dgDataOfLine将其取出,然后尝试对其进行解码时,它是乱码。当前的想法是,我们需要创建另一个处理程序,如GetUnicodeDataOfLine。有什么想法吗?

除非用户编辑某些内容,否则datagrid不会修改dgData,此时由您获取字段编辑器的Unicode文本。如果您正在使用dgText,尽管我不确定它会做什么


编辑


uni函数总是期望UTF16。因此,第二个参数是uniEncode中的来源和uniDecode中的目标。所以uniDecode(var,“UTF8”)获取UTF16数据并返回UTF8数据。uniEncode(变量,“UTF8”)接受UTF8数据并返回UTF16数据。

1)您是否使用包含UTF-16数据的数组填充数据网格?UTF 8,我覆盖了默认行为,当我填充数据时:
将我的长ID的unicodetext设置为uniencode(pData,“utf8”)
,这非常有效。但是,当我试着转换成UTF-16时,它是乱码
将me的long ID的unicodetext设置为uniencode(pData,“utf16”)
2)使用GetDataOfLine提取数据时,您试图对数据执行哪些转换
将uniDecode(uniEncode(tVar,“UTF16”))放入tVar中
我们基本上想要比较UTF-16字符串。如果数据是UTF8,那么uniEncode(pData,“UTF8”)将其按主机字节顺序转换为UTF16,所以uniEncode(pData,“UTF16”)没有任何意义。如果您的dgData是utf8,那么uniEncode(var,“utf8”)应该在数据网格内外将其转换为utf16。完美!我在计算Unicode时遇到了很多麻烦。非常感谢。现在,我正试图将UTF16编码为UTF8,为Twitter帖子做准备。从UTF16转换回UTF8的最佳方式是什么
uniDecode(var,“UTF16”)
?您必须记住uni命令总是期望UTF16。因此,第二个参数是uniEncode中的来源和uniDecode中的目标。所以uniDecode(var,“UTF8”)好的,这是有意义的。现在我已经尝试将mobileControlGet(“输入”、“unicodeText”)放入tText,将uniDecode(tText,“UTF8”)放入tText