数据块(AZURE)到CSV的文本格式



我在数据集中有特殊字符和花语言。

当我运行SQL (Select * from table1)时,结果很好。输入所需格式

SQL:

1 | 请回复邮件
2 | Don’t know

当同样的内容导出为CSV到我的本地机器时,这些文本将变为有线符号

导出数据:

1 | 请回å¤é‚®
2 | Don’t know

我如何得到相同的格式CSV在SQL?

确保在浏览器和编辑器中使用UTF-8编码而不是ISO-8859-1/Windows-1252编码。

将来最好使用字符集utf8mb4和COLLATION utf8mb4 unicode 520 ci。(Unicode排序规则的修订版本正在开发中。)

utf8mb4是utf8的超集,因为它可以支持4字节的utf8代码,这是Emoji和一些中文字符所需要的。

"UTF-8"outside of MySQL指的是所有的大小编码,因此它基本上与MySQL的utf8mb4相同,而不是utf8。

无论用工具查看还是用SELECT查看,数据都不可信。有太多这样的客户端,特别是浏览器,试图通过显示正确的文本来补偿错误的编码,即使数据库是混乱的。因此,选择一个包含一些非英语内容的表和列并对其进行处理。

WHERE... SELECT col, HEX(col) FROM tbl

对于正确保存的UTF-8, HEX将是

空白区域
  • 20(任何语言)
  • 英文
  • 4倍、5倍、6倍或7倍
  • 西欧大部分地区的重音字母应该是xyy。
  • 西里尔语、希伯来语和波斯语/阿拉伯语中的Dxyy
  • 亚洲大部分地区使用Exyyzz
  • 表情符号,尽管有些中国人使用F0yyzzww。

这里有几个修复:修复各种情况

下载完数据表data bricks后,在记事本中打开csv文件,在save下的save as选择Encoding选项UTF-8

最新更新