<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=450337&amp;view=findpost&amp;p=3909765</guid>
        <pubDate>Sat, 07 Sep 2024 07:23:22 +0000</pubDate>
        <title>Проблема с кириллицей при использовании Curses::UI под FreeBSD 14</title>
        <link>https://forum.sources.ru/index.php?showtopic=450337&amp;view=findpost&amp;p=3909765</link>
        <description><![CDATA[Majestio: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=450337&view=findpost&p=3909764'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>macomics &#064; <time class="tag-quote__quoted-time" datetime="2024-09-07T06:43:47+03:00">07.09.24, 03:43</time></span><div class='quote '>А если через ncurses.</div></div><br>
Так дело видать все в нём. Его сильно переделывали последнее время, много функций повырезали. Видать и с кодировкой намутили. А Curses:UI на нём базируется - считай обёртка. Буду ждать обновы Фряхи.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=450337&view=findpost&p=3909764'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>macomics &#064; <time class="tag-quote__quoted-time" datetime="2024-09-07T03:43:47+00:00">07.09.24, 03:43</time></span><div class='quote '>Дальше я могу предположить, что проблема с сохранением текста в редакторе (см. hexdump текста исходника)</div></div><br>
Нет, тут все ровно. Если в &quot;сыром&quot; перловом скрипте всё выводит ровно, значит редактор не виноват.]]></description>
        <author>Majestio</author>
        <category>*nix</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=450337&amp;view=findpost&amp;p=3909764</guid>
        <pubDate>Sat, 07 Sep 2024 03:43:47 +0000</pubDate>
        <title>Проблема с кириллицей при использовании Curses::UI под FreeBSD 14</title>
        <link>https://forum.sources.ru/index.php?showtopic=450337&amp;view=findpost&amp;p=3909764</link>
        <description><![CDATA[macomics: А если через ncurses. Поняв набор символов, которые выводятся не правильно, возможно, сможем найти проблему.<br>
<br>
<span class="b-attach" data-size="72027" data-hits="94" data-attach-id="66260" data-attach-post-id="3909764">
			<span class="b-attach__title"></span><a class='b-attach-link' href='https://forum.sources.ru/index.php?act=Attach&amp;type=post&amp;id=3909764&amp;attach_id=66260' title='Скачать файл' target='_blank'>Screenshot_20240907_074955.png</a> (, : 94)
		</span><br>
Даже если посмотреть на UTF-8 русский алфавит в hex - там нет и намека на символы &#39; @&#39; и &#39; B&#39;. Т.е. даже если символы не верно расшифрованы, тогда не должно было появится таких хвостов.<br>
<br>
Дальше я могу предположить, что проблема с сохранением текста в редакторе (см. hexdump текста исходника)]]></description>
        <author>macomics</author>
        <category>*nix</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=450337&amp;view=findpost&amp;p=3909763</guid>
        <pubDate>Fri, 06 Sep 2024 22:52:29 +0000</pubDate>
        <title>Проблема с кириллицей при использовании Curses::UI под FreeBSD 14</title>
        <link>https://forum.sources.ru/index.php?showtopic=450337&amp;view=findpost&amp;p=3909763</link>
        <description><![CDATA[Majestio: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=450337&view=findpost&p=3909762'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>macomics &#064; <time class="tag-quote__quoted-time" datetime="2024-09-06T20:51:09+00:00">06.09.24, 20:51</time></span><div class='quote '>Попробуйте в окно вывести весь алфавит в верхнем и нижнем регистре.</div></div><br>
Чисто Перлом, без ncurses, в терминале выводится всё норм:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я</div><div class="code_line">а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script> <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2024-09-06T23:07:37+00:00">06.09.24, 23:07</time></span></span><br>
<a class='tag-url' href='https://stackoverflow.com/questions/71199726/printing-cyrillic-text-in-cursesui' target='_blank'>Нашел топик</a>, у товарища под Mac OSX похожая проблема.]]></description>
        <author>Majestio</author>
        <category>*nix</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=450337&amp;view=findpost&amp;p=3909762</guid>
        <pubDate>Fri, 06 Sep 2024 20:51:09 +0000</pubDate>
        <title>Проблема с кириллицей при использовании Curses::UI под FreeBSD 14</title>
        <link>https://forum.sources.ru/index.php?showtopic=450337&amp;view=findpost&amp;p=3909762</link>
        <description><![CDATA[macomics: Судя по тому, что проблемы только с буквами &#39;т&#39; и &#39;р&#39; надо смотреть в настройках системы (конфигах терминала). Это точно не кодировка текста. Кодировка обычно ломает весь набор символов, а не пару отдельных букв.<br><br>Попробуйте в окно вывести весь алфавит в верхнем и нижнем регистре.]]></description>
        <author>macomics</author>
        <category>*nix</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=450337&amp;view=findpost&amp;p=3909757</guid>
        <pubDate>Fri, 06 Sep 2024 14:27:58 +0000</pubDate>
        <title>Проблема с кириллицей при использовании Curses::UI под FreeBSD 14</title>
        <link>https://forum.sources.ru/index.php?showtopic=450337&amp;view=findpost&amp;p=3909757</link>
        <description><![CDATA[Majestio: Нужно было сделать небольшой интерфейс с помощью Curses::UI.<br>
<br>
Я набросал небольшой пример на Perl5:<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">use strict;</div><div class="code_line">use warnings;</div><div class="code_line">use utf8;</div><div class="code_line">use Term::ReadKey;</div><div class="code_line">use Curses::UI;</div><div class="code_line">use POSIX qw(setlocale LC_ALL); &nbsp;# Импортируем setlocale и LC_ALL</div><div class="code_line">use open qw(:std :encoding(UTF-8));</div><div class="code_line">&nbsp;</div><div class="code_line"># Устанавливаем локаль для поддержки кириллицы</div><div class="code_line">setlocale(LC_ALL, &quot;ru_RU.UTF-8&quot;);</div><div class="code_line">&nbsp;</div><div class="code_line">binmode STDERR, &#39;:encoding(UTF-8)&#39;;</div><div class="code_line">binmode STDOUT, &#39;:encoding(UTF-8)&#39;;</div><div class="code_line">&nbsp;</div><div class="code_line"># Создаем объект интерфейса</div><div class="code_line">my $cui = Curses::UI-&#62;new(-color =&#62; 1);</div><div class="code_line">&nbsp;</div><div class="code_line"># Получаем размеры терминала</div><div class="code_line">my ($max_x, $max_y) = GetTerminalSize(); # Устанавливаем размеры окна</div><div class="code_line">&nbsp;</div><div class="code_line"># Вычисляем координаты для центрирования окна</div><div class="code_line">my $start_y = int(($max_y - 25) / 2);</div><div class="code_line">my $start_x = int(($max_x - 80) / 2);</div><div class="code_line">&nbsp;</div><div class="code_line"># Создаем окно</div><div class="code_line">my $window = $cui-&#62;add(</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#39;main_window&#39;,</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#39;Window&#39;,</div><div class="code_line">&nbsp;&nbsp; &nbsp;-border =&#62; 1,</div><div class="code_line">&nbsp;&nbsp; &nbsp;-title &nbsp;=&#62; &#39;Центрированное окно&#39;,</div><div class="code_line">&nbsp;&nbsp; &nbsp;-width &nbsp;=&#62; 80,</div><div class="code_line">&nbsp;&nbsp; &nbsp;-height =&#62; 25,</div><div class="code_line">&nbsp;&nbsp; &nbsp;-y &nbsp; &nbsp; &nbsp;=&#62; $start_y,</div><div class="code_line">&nbsp;&nbsp; &nbsp;-x &nbsp; &nbsp; &nbsp;=&#62; $start_x,</div><div class="code_line">);</div><div class="code_line">&nbsp;</div><div class="code_line"># Создаем список элементов</div><div class="code_line">my @items = (&quot;Элемент 1&quot;, &quot;Элемент 2&quot;, &quot;Элемент 3&quot;, &quot;Элемент 4&quot;, &quot;Элемент 5&quot;, </div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;Элемент 6&quot;, &quot;Элемент 7&quot;, &quot;Элемент 8&quot;, &quot;Элемент 9&quot;, &quot;Элемент 10&quot;,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;Элемент 11&quot;, &quot;Элемент 12&quot;, &quot;Элемент 13&quot;, &quot;Элемент 14&quot;, &quot;Элемент 15&quot;);</div><div class="code_line">&nbsp;</div><div class="code_line"># Добавляем список в окно</div><div class="code_line">$window-&#62;add(</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#39;item_list&#39;,</div><div class="code_line">&nbsp;&nbsp; &nbsp;&#39;Listbox&#39;,</div><div class="code_line">&nbsp;&nbsp; &nbsp;-values =&#62; \@items,</div><div class="code_line">&nbsp;&nbsp; &nbsp;-label &nbsp;=&#62; &#39;Выберите элемент:&#39;,</div><div class="code_line">&nbsp;&nbsp; &nbsp;-width &nbsp;=&#62; 78, &nbsp;# Ширина списка</div><div class="code_line">&nbsp;&nbsp; &nbsp;-height =&#62; 20, &nbsp;# Высота списка</div><div class="code_line">&nbsp;&nbsp; &nbsp;-onchange =&#62; sub {</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;my $selected_item = $window-&#62;get(&#39;item_list&#39;)-&#62;get();</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;$cui-&#62;message(&#39;Выбранный элемент&#39;, &quot;Вы выбрали: $selected_item&quot;);</div><div class="code_line">&nbsp;&nbsp; &nbsp;},</div><div class="code_line">);</div><div class="code_line">&nbsp;</div><div class="code_line"># Запускаем интерфейс</div><div class="code_line">$cui-&#62;set_binding(sub { exit }, &#39;q&#39;); &nbsp;# Выход по нажатию &#39;q&#39;</div><div class="code_line">$cui-&#62;mainloop();</div></ol></div></div></div></div><br>
Все это делал под FreeBSD 14.1. И замечаю, что часть русского текста выводится &quot;битой&quot;, вот скрин:<br>
<br>
<img class='tag-img' src='https://s1.hostingkartinok.com/uploads/images/2024/09/90a5098fa52c3d7be6de9a788096fc09.png' alt='user posted image'><br>
<br>
Эксперименты с локалями и бубнами не помогли. Решил посмотреть как это работает на других моих системах, которые я изредка пользую. Точно такую же картину получил на предыдущей версии FreeBSD 14.0 и на Linux Debian. Один в один. Да, все эти системы предварительно полностью обновил на сегодняшнее утро.<br>
<br>
<span class="tag-color tag-color-named" data-value="navy" style="color: navy"><span class='tag-size' data-value='12' style='font-size:12pt;'><pre>FreeBSD freebsd-14.1 14.1-RELEASE-p4 FreeBSD 14.1-RELEASE-p4 GENERIC amd64
FreeBSD freebsd-14 14.0-RELEASE-p10 FreeBSD 14.0-RELEASE-p10 #0: Wed Sep 4 08:24:14 UTC 2024 GENERIC amd64
Linux debian-pc 6.1.0-25-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.106-3 (2024-08-26) x86_64 GNU/Linux</pre></span></span><br>
А вот ArchLinux и Linux Manjaro порадовали - там всё ровно получилось&#33;<br>
<br>
<span class="tag-color tag-color-named" data-value="navy" style="color: navy"><span class='tag-size' data-value='12' style='font-size:12pt;'><pre>Linux archlinux-pc 6.10.8-arch1-1 #1 SMP PREEMPT_DYNAMIC Wed, 04 Sep 2024 15:16:37 +0000 x86_64 GNU/Linux
Linux majestio-pc 6.6.47-1-MANJARO #1 SMP PREEMPT_DYNAMIC Mon Aug 19 09:51:26 UTC 2024 x86_64 GNU/Linux</pre></span><br>
</span><br>
<img class='tag-img' src='https://s1.hostingkartinok.com/uploads/images/2024/09/e8206c9eb24247bcb0bfd6a4bc0b1cce.png' alt='user posted image'><br>
<br>
<strong class='tag-b'>Вопрос:</strong> по сути очевидный - &quot;куда копать&quot;?<br>
<br>
Мне вообще-то нужно только под FreeBSD. Я понимаю, что можно легко отказаться от русского языка, сделать на английском. Но не хочется от проблем убегать. Есть какие мысли?]]></description>
        <author>Majestio</author>
        <category>*nix</category>
      </item>
	
      </channel>
      </rss>
	