我获得了一个MS Access数据库,其中包含不同语言的值(英语,西班牙语,德语,中文)。除中文外,所有字符都在前端应用程序中正确显示。它显示所有随机值,如框等。
所以,我查看了Microsoft访问数据库,它没有任何中文值。所有它都是乱码的字符,而其他语言有适当的价值。 我不能只用Unicode中的新值更新数据库,因为系统已经很老了,我们不想改变它,因为这将是一个很大的变化。
例如:
English text: Printing Receipt ...
Chinese text: ÕýÔÚ´òÓ¡Êվݡ (Yep, I have this value in MS Database)
我的问题是,我该如何解读?在C ++中将它转换为Unicode需要做什么?
将非常感谢帮助或建议。
答案 0 :(得分:1)
我希望你手头有人可以阅读中文,并确认结果有意义,因为这将是反复试验。
WCHAR[]
数组可能会在未知编码中重新解释为char[]
,然后存储。为了让中国人回来,你最好的机会就是扭转这个过程。我从CP1252开始,因为这是西欧的常见字符集。
但是,如果输入中的任何UTF-16字符以00
结尾,则char[]
数组将提前终止,部分字符串将永远不会被存储。