Jak wymusić wyjście pliku Latin-1 (co, jak sądzę, oznacza iso-8859-1?) W Pythonie?Python: Jak wymusić wyjście pliku iso-8859-1?
Oto mój kod w tej chwili. Działa, ale próba importu wynikowego pliku do tabeli MySQL Latin-1 generuje weird encoding errors.
outputFile = file("textbase.tab", "w")
for k, v in textData.iteritems():
complete_line = k + '~~~~~' + v + '~~~~~' + " ENDOFTHELINE"
outputFile.write(complete_line)
outputFile.write("\n")
outputFile.close()
Powstały plik wyjściowy wydaje się być zapisane w „Zachodniej (Mac OS Roman)”, ale jeśli następnie zapisać go w Latin-1, wciąż otrzymuję dziwne problemy kodowania. Jak mogę się upewnić, że użyte ciągi i sam plik są zakodowane w Latin-1, gdy tylko zostaną wygenerowane?
Oryginalne ciągi (w słowniku textData
) zostały przeanalizowane z pliku RTF - nie wiem, czy to ma znaczenie.
Jestem trochę nowy w Pythonie i ogólnie kodowania, więc przepraszam, jeśli to głupie pytanie. Próbowałem spojrzeć na dokumenty, ale nie zaszły daleko.
Używam Python 2.6.1.
Dziękuję. Właśnie próbowałem tego kodu, ale otrzymuję: "UnicodeDecodeError: kodek 'ascii' nie może dekodować bajtu 0xa3 w pozycji 753: porządkowy nie w zakresie (128)". Spróbuję teraz upewnić się, że k i v są obiektami unicode, jak zasugerowano powyżej. – AP257