Найти - Пользователи
Полная версия: [kivy] .kv кириллица
Начало » GUI » [kivy] .kv кириллица
1
helm2004
Доброго времени суток!
Начал изучать kivy.
Есть .kv файл (иду строго по туториалу), там есть кириллический текст
AddLocationForm:
<AddLocationForm@BoxLayout>:
    orientation: "vertical"
    BoxLayout:
        height: "40dp"  # <1>
        size_hint_y: None
        TextInput:
            size_hint_x: 50  # <2>
        Button:
            text: "Search"
            size_hint_x: 25  # <3>
        Button:
            text: "Current Location"
            size_hint_x: 25  # <3>
    ListView:  # <4>
        item_strings: ["Браилов", "Жмеринка"]

То выводит абракадабру.




Как сделать так, что б текст таки выводился? Спосибо большое за ответы.
py.user.next
>>> "Браилов".encode('utf-8').decode('cp1251')
'Браилов'
>>>
Это значит, что файл - в utf-8, а интерпретатор - в cp1251.
helm2004
Хм, я дико извиняюсь (1.5 лет не кодил уже), а как интерпретатор можна запустить с нужной кодировкой? Питон 3.4, Масдайка 7 64х.
py.user.next
helm2004
Питон 3.4, Масдайка 7 64х.
У питона проблем с кодировками нет, а вот мастдайке следовало бы перейти уже с однобайтовых кодировок прошлого века на современные.
Есть там способ поставить.
Может быть, и kivy можно как-то настроить.
helm2004
Спасибо! Будем далее мучать винду.
ignoramus
Та же проблема. Установка других шрифтов не помогает.
 from kivy.app import App
from kivy.core.text import LabelBase
class LoginApp(App):
    pass
if __name__=='__main__':
    LabelBase.register(name="RobotoCondensed",
                       fn_regular="data/fonts/RobotoCondensed-Light.ttf",
                       fn_bold="data/fonts/RobotoCondensed-Regular.ttf",
                       fn_italic="data/fonts/RobotoCondensed-LightItalic.ttf",
                       fn_bolditalic="data/fonts/RobotoCondensed-Italic.ttf")
    LoginApp().run()
<Label>
font_size:45
font_name:'RobotoCondensed'
Label:
text: 'привет'

upd перешел на debian. там все норм
NightFlash
Проблема решается очень легко:
 # encoding=utf8  
import sys 
reload(sys)  
sys.setdefaultencoding('utf8')
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB