PyGame и Unicode - бесконечная история
Что я делаю в своем коде:
Во-первых, я загружаю текстовый файл UTF-8 (да, проверено дважды / трижды / четверно: это UTF-8) с помощью codecs.open ...
def load_verbslist(folder, name, utf_encoding):
fullname = os.path.join("daten", folder, name)
if utf_encoding:
with codecs.open(fullname, "r", "utf-8-sig") as name:
lines = name.readlines()
else:
name = open(fullname, "r")
lines = name.readlines()
for x in range(0, len(lines)):
lines[x] = lines[x].strip("\n")
lines[x] = lines[x].strip("\r")
return lines
Из этого файла приходят строки моего решения. Позже я разбил строки и снова закодировал все, чтобы вывести его на экран следующим образом:
class BlittedText():
def __init__(self, number, colour):
self.number = number
self.colour = colour
if self.number == 0: #Infinitiv
self.content = Solution.verb[0]
self.content = self.content.encode("utf-8")
self.text = Main.font1.render(str(self.content), 1, self.colour)
self.pos = (45, 45)
Затем я добавляю список с именем "Строки» несколькими из этих классов BlitedText ().
Затем я перетащил его на экран:
for element in Strings:
screen.blit(element, position)
Результат можно увидеть на этой картинке:http://img341.imageshack.us/img341/6617/ee43.png В оболочке Python (левая сторона) все отображается правильно, мои входные данные (очень левая сторона) в виде строк из файла TXT решения (который определенно, безусловно, 100% сохраняется как UTF-8). На экране мой ввод (черный) правильно мигает, в то время как строки решения (зеленый и красный) показывают странные символы вместо символов Юникода. Я думал, я правильно их кодировал, но, очевидно, нет: /
Кто-нибудь находит мою ошибку? Куда'мое мышление пошло не так?
Большое спасибо уже!
похлопывание