将外语从csv文件导入Stata

将外语从csv文件导入Stata,csv,stata,unicode-string,dta,Csv,Stata,Unicode String,Dta,我用的是Stata 12。我遇到了以下问题。我正在使用insheet命令将一组.csv文件导入Stata。这些数据集可能包括俄语、克罗地亚语、土耳其语等。我认为它们是用“UTF-8”编码的。在.csv文件中,它们是正确的。在我将它们导入Stata后,原始字符串不正确,变成了奇怪的字符。你能帮我吗?状态转移是否可以解决问题?它支持.csv格式吗 比如说,, 原始文件如下所示: 我的代码如下: 使用name.csv的图纸,c n 保存name.dta,替换 结果是: 我还尝试在字体选项中调整脚本

我用的是Stata 12。我遇到了以下问题。我正在使用
insheet
命令将一组.csv文件导入Stata。这些数据集可能包括俄语、克罗地亚语、土耳其语等。我认为它们是用“UTF-8”编码的。在.csv文件中,它们是正确的。在我将它们导入Stata后,原始字符串不正确,变成了奇怪的字符。你能帮我吗?状态转移是否可以解决问题?它支持.csv格式吗

比如说,, 原始文件如下所示:

我的代码如下: 使用name.csv的图纸,c n 保存name.dta,替换

结果是:


我还尝试在字体选项中调整脚本,但这不起作用。

正如@Nick Cox之前评论的那样,问题在于Stata不支持Unicode/UTF-8编码。 不,StatTransfer无法解决此问题(请参阅)

您可以使用在线解码器或MS Word来实现这一功能。让我们先用一种语言,比如说俄语,就像你的截图一样。检查克罗地亚语、土耳其语和其他语言的正确编码

  • 选择UTF-8编码选项,将.csv文件中的字符串变量保存为纯文本(.txt)
  • 编码转换:
    • 使用@Dimitry V.Masterov建议的iconv,或
    • 使用在线工具,例如:upload.txt文件,选择源编码为UTF-8,并根据感兴趣的语言输出编码(对于俄语,必须是CP1251),单击“转换”按钮并保存输出文件,或
    • 如果你有微软办公软件,你也可以使用微软Word来达到同样的目的。右键单击.txt文件,选择“用…打开”,选择用MS Word打开。在出现的窗口中,确认文件编码为“Unicode(UTF-8)”,打开,然后单击“另存为…”,另存为纯文本。在新出现的窗口中,选择“西里尔文(窗口)”并标记“插入换行符”。保存
  • 检查一下你的新.txt文件-它仍然应该有一些奇怪的字符(例如,Stata可以正确地显示它们)
  • 在Stata数据编辑器中复制粘贴新字符串变量,右键单击该变量,选择“字体…”,然后选择字符串“西里尔字母”。您应该在数据编辑器和结果窗口的屏幕上看到正确的名称(即使字符串本身是完整的)。
  • 根据您的操作系统,您可能需要首先安装所有适当的语言。

    希望有帮助。

    Stata对.csv本身没有问题;这不是问题所在。它不支持Unicode。这里有一个解决方案的提示。批处理csv文件转换的机制我不知道。看起来您可以使用它来处理转换。我昨晚在一些自制数据上尝试了这一点,但我似乎不知道如何将Stata显示字体设置为使用采用相同编码方案的字体。@DimitriyV.Masterov非常感谢!