Python, l'Encodage de sortie de l'UTF-8

J'ai une définition qui construit une chaîne composée de caractères codés UTF-8. Les fichiers de sortie sont ouverts à l'aide 'w+', "utf-8" arguments.

Cependant, lorsque j'essaie de x.write(string) - je obtenir le UnicodeEncodeError: 'ascii' codec can't encode character u'\ufeff' in position 1: ordinal not in range(128)

Je suppose que c'est parce que, normalement, par exemple vous ne `print(u'something'). Mais j'ai besoin d'utiliser une variable et les citations dans u'_' nier que...

Des suggestions?

EDIT: code ici:

source = codecs.open("actionbreak/" + target + '.csv','r', "utf-8")
outTarget = codecs.open("actionbreak/" + newTarget, 'w+', "utf-8")
x = str(actionT(splitList[0], splitList[1]))
outTarget.write(x)

Essentiellement tout ce qui est censé être fait est de bâtir une grande quantité de chaînes de caractères qui ressemblent à ceci:

[日木曜 Deliverables]= CASE WHEN things = 11
THEN C ELSE 0 END

  • avez-vous essayez de faire x.write(string.encode('utf-8'))?
  • S'il vous plaît montrer le code que vous utilisez pour ouvrir le fichier, et où vous êtes l'obtention de u'\ufeff' de.
  • Merci, a ajouté plus de détails
  • Est l'erreur qui se produit sur la write ou de la ligne de str un?