为什么我不能在dbf文件中正确查看中文字符?

时间:2014-10-30 15:20:10

标签: mysql dbf chinese-locale

我正在尝试将数据从dbf导入数据库,除了包含中文字符的列外,一切都很好。

但是,我怀疑源文件本身存在问题,而不是导入过程的问题。我也听说人们在Windows中做同样的事情是没有问题的,因为dbf文件正确显示中文字符,但它只是在OS X上显示了一堆奇怪的字符。

以下是TextEdit的显示方式截图:

enter image description here

这是导入MySQL数据库后的屏幕截图:

enter image description here

我很感激有关此的任何帮助和想法。

2 个答案:

答案 0 :(得分:1)

正确构造的dbf文件具有包含字符字段编码的嵌入字段。文本编辑器对此没有任何线索。 MySQL应该,但可能不会(我不是MySQL用户,所以不知道)。

假设dbf已正确构建,您可以使用dbf导出程序创建包含数据的utf-8文本文件,然后导入该文件。

如果您能够使用Python,则可以使用我的dbf module执行此操作。

答案 1 :(得分:1)

Ethan是对的 - MySQL不知道你要导入的字符是中文。我认为可能的解决方案是将DBF文件的所有字符转换为UTF-8编码(对于MySQL来说是原生的),然后将其导出到MySQL数据库。

可能的方法是使用DBF Commander Pro编辑器。打开DBF文件,单击“文件 - >转换 - > ANSI到UTF-8 '。有关转换例程的更多信息可用here

转换后,尝试使用DBF Commander Pro将DBF文件import发送到MySQL数据库,或使用之前使用过的工具。

该计划的30天试用期可让您免费完成任务。