我在数据集中有特殊字符和花语言。
当我运行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