问题分为两个步骤:
问题步骤1. 访问97包含以UTF-8编码的XMLstring的数据库 。
问题归结为:Access 97数据库包含以UTF-8编码的XMLstring。 所以我创build了一个补丁工具,用于从UTF-8到Unicode的XMLstring的单独转换。 为了将UTF8string转换为Unicode,我使用了函数MultiBytetoWideChar(CP_UTF8,0,PChar(OriginalName),-1,@ newName,Size); (其中newName是数组声明的“ newName:Array [0..2048] WideChar; ”)。
这个function在大多数情况下效果很好,我用Spainsh,阿拉伯语字符进行了检查。 但我正在研究希腊文和中文字符,这是窒息。
当窗体位于主监视器的上方和左方时,光标变为对angular线resize
如何使安装文件(由IExpress制作)以另一台计算机上的pipe理员身份运行
确定系统架构
在应用程序中的Windows
有没有IcopyHook.copyCallback文件或替代它?
对于一些希腊字符,例如“我…。ÏÎÎά”( 存储在Access-97中 ),生成的新string之间包含空字符,当存储为宽字符时,字符为被削减。
对于一些像“???μ?”这样的中文字符( 存储在Access-97中 ),结果是完全荒谬的,就像“????μ?”。
问题步骤2. 访问97 db文本string,应用程序GUI采用Unicodeinput并保存在Access-97中
首先,我检查了阿拉伯语和西class牙语字符,似乎没有明确的字符编码是必需的。 但是问题又来自希腊和中国的人物。
我尝试了上面提到的相同的函数进行文本转换(是否正确???),结果又是分歧。 这个Spainsh字符可以用于转换,可以将unicode字符丢失或转换为常规的Ascii字母表。
希腊字母和汉字字符显示出与第1步中的精神相似的行为。
请指导我 我采取正确的方法? 有没有其他的方法? 那么现在我很困惑,充满了问题:)
当滚动条可见时停止浏览器调整网站大小
正则expression式匹配组在PowerShell中进行string匹配
运行Cordova Windows应用程序需要安装签名证书
Windows 8.1在WindowsBase和PresentationCore中复制资源
哪个DVCS在我的场景下最适合Windows?
希腊字符没有特别的要求。 真正的问题是,字符被存储在Access首先无法识别的编码中。 当应用程序将UTF8值存储在数据库中时,它试图将每个单字节转换为数据库代码页中的等效字节。 那个编码中没有对应关系的每个字符都被替换为? 这可能意味着希腊文文本可以,而中文文本可能会消失。
为了将数据转换为可读的数据,您必须知道存储的代码页。使用此代码可以获取实际字节,然后将其转换为Unicode。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。