Latest posts on Работа с кириллицей, методы строк topichttp://python.su/forum/topic/724/2007-04-27T12:19:42+03:00Общий :: Python для экспертов :: Работа с кириллицей, методы строк
2007-04-27T12:19:42+03:00bialix4952<blockquote><em>slav0nic</em><br/>кстати из-за этого часто не работает ulipad и другие редакторы, с возможностью запуска скриптов и вывода stdout в своём окне…</blockquote>хотя решение у этой проблемы достаточно простое: вместо обычного print нужно делать вывод в файловый поток, оборачивающий stdout или stderr, но который имеет установленную правильную кодировку, типа как мы это делаем в bzr:<br/><br/><br/>import codecs<br/>import sys<br/><br/>outf = codecs.getwriter(output_encoding)(sys.stdout, errors='replace')<br/><br/>print >>outf, u'Русский текст'<br/>
Общий :: Python для экспертов :: Работа с кириллицей, методы строк
2007-04-27T11:50:55+03:00slav0nic4951кстати из-за этого часто не работает ulipad и другие редакторы, с возможностью запуска скриптов и вывода stdout в своём окне…
Общий :: Python для экспертов :: Работа с кириллицей, методы строк
2007-04-27T11:13:01+03:00bialix4950<blockquote><em>Striver</em><br/>slivlen: “все же лучше перед выводом их преобразовывать в str с нужной кодировкой”…<br/>Если вывод может быть и в консоль и в окошки, предпочитаю оставлять строки в виде unicode, python сам прекрасно решает, в какой кодировке вывести строку.</blockquote>До тех пор пока вы в консольной проге не перенаправите вывод в файл:<br/><br/><div class="code"><pre>python rus.py > file</pre></div>
Общий :: Python для экспертов :: Работа с кириллицей, методы строк
2007-04-27T06:29:39+03:00Striver4949slivlen: “все же лучше перед выводом их преобразовывать в str с нужной кодировкой”…<br/>Если вывод может быть и в консоль и в окошки, предпочитаю оставлять строки в виде unicode, python сам прекрасно решает, в какой кодировке вывести строку.
Общий :: Python для экспертов :: Работа с кириллицей, методы строк
2007-04-26T22:24:15+03:00slivlen4947<blockquote><em>Все ники заняты</em><br/>Работает и без последнего encode, кстати.</blockquote>Я знаю, но все же лучше перед выводом их преобразовывать в str с нужной кодировкой.
Общий :: Python для экспертов :: Работа с кириллицей, методы строк
2007-04-26T20:35:33+03:00Все ники заняты4946Спасибо, получилось. Работает и без последнего encode, кстати.
Общий :: Python для экспертов :: Работа с кириллицей, методы строк
2007-04-26T17:31:18+03:00slivlen4945Через юникод:<br/><div class="code"><pre><span class="o">>>></span> <span class="k">print</span> <span class="nb">unicode</span><span class="p">(</span><span class="s">'Вася'</span><span class="p">,</span> <span class="s">'utf-8'</span><span class="p">)</span><span class="o">.</span><span class="n">upper</span><span class="p">()</span><span class="o">.</span><span class="n">encode</span><span class="p">(</span><span class="s">'utf-8'</span><span class="p">)</span>
<span class="err">ВАСЯ</span>
</pre></div>P.S. Кодировку, разумеется, надо заменить на нужную тебе.
Общий :: Python для экспертов :: Работа с кириллицей, методы строк
2007-04-26T17:24:17+03:00Все ники заняты4944WinXP SP2, ActivePython 2.5.<br/>Как правильно работать с кириллицей функциями строк upper, lower, capitalize, swapcase, title?<br/><strong>“Вася”.upper()</strong> для кириллицы не работает.