我最终在我们的一个mysql列中搞乱了字符编码.
通常我有
√©而不是
é√∂而不是ö√
≠而不是í
等等...
相当确定这里有人会知道发生了什么以及如何解决.
更新: 基于bobince的答案,因为我在文件中有这些数据,所以我做了以下操作
#!/user/bin/env python
import codecs
f = codecs.open('./file.csv', 'r', 'utf-8')
f2 = codecs.open('./file-fixed.csv', 'w', 'utf-8')
for line in f:
f2.write(line.encode('macroman').decode('utf-8')),
Run Code Online (Sandbox Code Playgroud)
之后
load data infile 'file-fixed.csv'
into table list1
fields terminated by ','
optionally enclosed by '"'
ignore 1 lines;
Run Code Online (Sandbox Code Playgroud)
正确导入数据.
UPDATE2: Hammerite,只是为了完整性,这里是要求的细节......
mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | …
Run Code Online (Sandbox Code Playgroud)