我正在向 oracle 数据库插入大量数据。
在该数据库中,文本以 windows-1252 格式存储。
原来要输入的东西很多,都需要转成这种格式。此外,所有这些数据都是阿拉伯语。
有人可以帮我找到一个在线转换器或将阿拉伯语单词编码为 windows-1252 格式的工具吗?
*希望细节足够
--rangana
我正在向 oracle 数据库插入大量数据。
在该数据库中,文本以 windows-1252 格式存储。
原来要输入的东西很多,都需要转成这种格式。此外,所有这些数据都是阿拉伯语。
有人可以帮我找到一个在线转换器或将阿拉伯语单词编码为 windows-1252 格式的工具吗?
*希望细节足够
--rangana
Win32 API 对 MultiByteToWideChar 和 WideCharToMultiByte 允许您分别将代码页编码转换为 Unicode 并将 Unicode 数据转换为代码页编码。这些 API 中的每一个都将用于该转换的代码页的值作为参数。因此,您可以指定给定代码页的值(例如:阿拉伯语为 1256)或使用预定义的标志,例如:
由于 windows-1252 根本不编码阿拉伯字母,因此进行转换的唯一方法是使用某种音译。这与编码转换完全不同(它不会改变字符的身份,只会改变它们的编码表示)。
阿拉伯语有大量的音译(罗马化)方案。几乎所有的都是不可逆的,而且几乎所有的都不适合全自动处理(主要是因为正常的阿拉伯语书写不指示短元音,但大多数音译方案都指示它们,即音译者需要知道单词的发音和插入元音字符)。
您可以通过转换为 windows-1256,然后将 windows-1256 编码数据作为原始字节插入数据库来伪造转换。然后,您需要跟踪数据库中每个值的编码,以便知道哪些字节是 windows-1252,哪些是真正的 windows-1256。这听起来很乱,所以考虑是否可以将数据库转换为使用 UTF-8。