2016-11-28 30 views
-2

我试图使用python从mysql数据库中提取一些数据,但我遇到特殊字符的问题(数据是FR,ES,De和IT语言中的字符串) 。每当一个词有一个特殊字符(如重音A N等)没有文件(我创建与提取数据的CSV) 这正确编码为我所用的代码如何阅读在python中使用UTF-8编码的特殊字符

import mysql.connector 
if __name__ == '__main__': 

    cnx = mysql.connector.connect(user='user', password='psswrd', 
           host='slave', 
           database='DB', 
           buffered=True) 
    us_id_list = ['496305'] 

    f = open('missing_cat_mappings.csv', 'w') 
    for (us_id) in us_id_list: 
     print us_id 
     mapping_cursor = cnx.cursor() 
     query = (format(user_id=us_id,)) 
     success = False 
     fails = 0 
     while not success: 
      try: 
       print "try" + str(fails) 
       mapping_cursor.execute(query) 
       success = True 
      except: 
       fails += 1 
       if fails > 10: 
        raise 

     for row in mapping_cursor: 
      f.write(str(row) + "\n") 

     mapping_cursor.close() 
    f.close() 

    cnx.close() 

我补充说:

#!/usr/bin/python 
# vim: set fileencoding=<UTF-8> : 

在开始,但它没有任何区别。

+0

无处的代码你指定的编码为UTF-8这样应该怎么蟒蛇知道吗? – runDOSrun

回答

0

基本上你将需要open以二进制方式CSV文件,'wb'不文本模式'w'