{"id":2557,"date":"2017-11-10T06:14:17","date_gmt":"2017-11-10T06:14:17","guid":{"rendered":"https:\/\/tst-amo.pp.ua\/blog\/?p=2557"},"modified":"2017-11-10T06:21:27","modified_gmt":"2017-11-10T06:21:27","slug":"utf-8-%d0%b2-%d0%ba%d0%be%d0%bd%d1%81%d0%be%d0%bb%d0%b8","status":"publish","type":"post","link":"https:\/\/tst-amo.net.ua\/blog\/?p=2557","title":{"rendered":"UTF-8 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438"},"content":{"rendered":"<p>\u0412 FreeBSD 10 \u0438 \u0432\u044b\u0448\u0435 \u044e\u043d\u0438\u043a\u043e\u0434 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438<\/p>\n<p>\u0412 \/boot\/loader.conf \u043d\u0430\u0434\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u0447\u043a\u0443:<\/p>\n<pre>kern.vty=vt<\/pre>\n<pre>\/etc\/login.conf:\r\nrussian-utf8|Russian UTF-8 Users Accounts:\\\r\n           :charset=UTF-8:\\\r\n           :lang=ru_RU.UTF-8:\\\r\n           :lc_all=ru_RU.UTF-8:\\\r\n           :tc=default:<\/pre>\n<pre># cap_mkdb \/etc\/login.conf\r\n\/etc\/profile:\r\nMM_CHARSET=UTF-8; export MM_CHARSET<\/pre>\n<pre># pw usermod \u042e\u0437\u0432\u0435\u0440 -L russian-utf8<\/pre>\n<p>\u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 9.0, \u0434\u043b\u044f <em>syscons<\/em>(4) \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0438 \u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u043e &#8211; \u0434\u043b\u044f <em>vt<\/em>(4) \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430,<br \/>\n\u0432 <em>\/etc\/ttys<\/em> \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0438\u043f \u044d\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430 <em>xterm<\/em>:<\/p>\n<pre>#\r\nttyv0 \"\/usr\/libexec\/getty Pc\" xterm on secure\r\n# Virtual terminals\r\nttyv1 \"\/usr\/libexec\/getty Pc\" xterm on secure\r\nttyv2 \"\/usr\/libexec\/getty Pc\" xterm on secure\r\nttyv3 \"\/usr\/libexec\/getty Pc\" xterm on secure\r\nttyv4 \"\/usr\/libexec\/getty Pc\" xterm on secure\r\nttyv5 \"\/usr\/libexec\/getty Pc\" xterm on secure\r\nttyv6 \"\/usr\/libexec\/getty Pc\" xterm on secure\r\nttyv7 \"\/usr\/libexec\/getty Pc\" xterm on secure<\/pre>\n<p>\u0420\u0430\u043d\u0435\u0435, <em>syscons<\/em>(4), \u0434\u043b\u044f KOI8-R \u0442\u0438\u043f \u044d\u043c\u0443\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430 <em>cons25r<\/em>,<br \/>\n\u0434\u043b\u044f <em>KOI8-U<\/em> &#8211; <em>cons25u<\/em>. \u0414\u043b\u044f CP437 (VGA default) &#8211; cons25, US-ASCII &#8211; cons25w.<\/p>\n<h4>\u041b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f login shells \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 login class.<\/h4>\n<p>\u041e\u043f\u0438\u0441\u0430\u043d \u0432 FreeBSD HandBook \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u043e\u0431\u044b\u0447\u043d\u043e, \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f<br \/>\nlogin shell&#8217;\u043e\u0432 \u0438 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0430 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 login<br \/>\nclass \u0447\u0435\u0440\u0435\u0437 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0435\u0433\u043e \u0432 <em>\/etc\/login.conf<\/em><\/p>\n<p>\u041b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0438\u0437 \u0441\u0435\u0431\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e:<\/p>\n<pre>LanguageCode_CountryCode.Encoding<\/pre>\n<p>\u0433\u0434\u0435:<\/p>\n<pre>LanguageCode_Country Code Description\r\n ----------------------------------------------------\r\n en_US English, United States\r\n ru_RU Russian, Russia<\/pre>\n<p>\u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043f\u043e\u043a\u0430\u0436\u0435\u0442 \u0432\u0441\u0435 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 locale:<\/p>\n<pre># locale -a | more\r\n<\/pre>\n<p>\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 charater set (charset) \u0434\u043b\u044f \u044f\u0437\u044b\u043a\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:\u00a0&#8211; ISO8859-1, ISO8859-15, KOI8-R, CP1251, CP437 \u0438 \u0442\u0434 \u0438 \u0442\u043f\u00a0\u043e\u043f\u0438\u0441\u0430\u043d\u0430 \u0432 multibyte(3), \u0430 \u0441\u043f\u0438\u0441\u043e\u043a charsets \u0434\u043b\u044f \u044f\u0437\u044b\u043a\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438<br \/>\n\u0432 IANA Registry.<\/p>\n<p>FreeBSD \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 Xorg-compatible locale encodings.<\/p>\n<h4>1) \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 login \u043a\u043b\u0430\u0441\u0441\u0430<\/h4>\n<p>&#8211; \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c <em>\/etc\/login.conf<\/em> \u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u043b\u0430\u0441\u0441\u0430 &#8220;<em>russian<\/em>&#8221;<br \/>\n\u0438\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 russianu<\/p>\n<h5>a) \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c \u043a\u043b\u0430\u0441\u0441 russian \/etc\/login.conf<\/h5>\n<pre>russian|Russian Users Accounts:\\\r\n      :charset=KOI8-R:\\\r\n      :lang=ru_RU.KOI8-R:\\\r\n      :tc=default:<\/pre>\n<p>\u043d\u0430<\/p>\n<pre>russian|Russian Users Accounts:\\\r\n      :charset=UTF-8:\\\r\n      :lang=ru_RU.UTF-8:\\\r\n      :tc=default:<\/pre>\n<p>\u0438\u043b\u0438<\/p>\n<h5>b) \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0432 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a \u043a\u043b\u0430\u0441\u0441\u0443 &#8220;russian&#8221;, \u043d\u043e\u0432\u044b\u0439 \u043a\u043b\u0430\u0441\u0441 &#8220;russianu&#8221;<\/h5>\n<pre>russianu|Russian Users Accounts UTF-8:\\\r\n\u00a0 \u00a0 \u00a0 \u00a0:charset=UTF-8:\\\r\n\u00a0 \u00a0 \u00a0 \u00a0:lang=ru_RU.UTF-8:\\\r\n\u00a0 \u00a0 \u00a0 \u00a0:tc=default:<\/pre>\n<p>\u041f\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044e \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u0445\u0435\u0448-\u0431\u0430\u0437\u0443:<\/p>\n<pre># cap_mkdb \/etc\/login.conf<\/pre>\n<p>\u0412\u0441\u0435, \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043d\u0443\u0436\u0435\u043d UTF-8 \u043d\u0430 \u043d\u043e\u0432\u044b\u0439 \u043a\u043b\u0430\u0441\u0441<br \/>\n\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043d\u0430 \u0432\u044b\u0431\u043e\u0440: passwd(1), pw(8), chpass(1), vipw(8)<\/p>\n<h4>2) \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 locale \u0432 shell\/bash\/csh\/tcsh<\/h4>\n<p>\u0434\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 \u0448\u0435\u043b\u0430\u0445, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c<br \/>\n\u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0442\u043e\u0442 \u0438\u043b\u0438 \u0438\u043d\u043e\u0439 shell, \u0441\u043c. \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 man<\/p>\n<p>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 login shell&#8217;\u0430\u0445 \u0441\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043a \u0437\u0430\u0434\u0430\u043d\u0438\u044e<br \/>\n\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445:<\/p>\n<pre>LANG\r\nMM_CHARSET<\/pre>\n<p>\u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0444\u0430\u0439\u043b\u0430\u0445: ~\/.login_conf \u0438\/\u0438\u043b\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0441\u0442\u0430\u0440\u0442\u0430\u043f\u00a0shell \u0444\u0430\u0439\u043b\u0430\u0445: ~\/.profile, ~\/.bashrc, \u0438\u043b\u0438 ~\/.cshrc.<\/p>\n<pre>sh\/bash:\r\nexport LANG=ru_RU.UTF-8\r\nexport MM_CHARSET=UTF-8<\/pre>\n<p><strong>\u0412\u0430\u0436\u043d\u043e:<\/strong> \u0432 10&#8217;\u043e\u0439 \u0432\u0435\u0442\u043a\u0435 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0430 \u0432\u0432\u043e\u0434\u0430 UTF-8 \u0432 Bourne Shell, MFC \u0438\u0437 11&#8217;\u043e\u0439 \u0432\u0435\u0442\u043a\u0438 \u043d\u0435 \u0431\u044b\u043b\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e:<\/p>\n<p>Bug 196973 &#8211; sh(1) broken UTF-8 input<\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435: \u0432 11.x-RELEASE \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u0432\u044b\u0448\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043d\u0435\u0442, \u0432 10&#8217;\u043e\u0439 \u0432\u0435\u0442\u043a\u0435 \u0432\u043c\u0435\u0441\u0442\u043e \/bin\/sh \u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c bash.<\/p>\n<pre>csh\/tsch:\r\nsetenv LANG ru_RU.UTF-8\r\nsetenv MM_CHARSET UTF-8<\/pre>\n<p>\u0418\u043b\u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0441\u0442\u0430\u0440\u0442\u0430\u043f shell \u0444\u0430\u0439\u043b\u0430\u0445: \/etc\/profile \u0438 \/etc\/csh.login.<\/p>\n<p><a href=\"http:\/\/unix1.jinr.ru\/~lavr\/vt\/vtcons.html\">http:\/\/unix1.jinr.ru\/~lavr\/vt\/vtcons.html<\/a><\/p>\n<p><a href=\"https:\/\/www.lissyara.su\/?id=2133\">https:\/\/www.lissyara.su\/?id=2133<\/a><\/p>\n<div class=\"pdfprnt-buttons pdfprnt-buttons-post pdfprnt-bottom-right\"><a href=\"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=wpv2posts2557&print=pdf\" class=\"pdfprnt-button pdfprnt-button-pdf\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/tst-amo.net.ua\/blog\/wp-content\/plugins\/pdf-print\/images\/pdf.png\" alt=\"image_pdf\" title=\"View PDF\" \/><\/a><a href=\"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=wpv2posts2557&print=print\" class=\"pdfprnt-button pdfprnt-button-print\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/tst-amo.net.ua\/blog\/wp-content\/plugins\/pdf-print\/images\/print.png\" alt=\"image_print\" title=\"Print Content\" \/><\/a><\/div>","protected":false},"excerpt":{"rendered":"<p>\u0412 FreeBSD 10 \u0438 \u0432\u044b\u0448\u0435 \u044e\u043d\u0438\u043a\u043e\u0434 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438 \u0412 \/boot\/loader.conf \u043d\u0430\u0434\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u0447\u043a\u0443: kern.vty=vt \/etc\/login.conf: russian-utf8|Russian UTF-8 Users Accounts:\\ :charset=UTF-8:\\ :lang=ru_RU.UTF-8:\\ :lc_all=ru_RU.UTF-8:\\ :tc=default: # cap_mkdb \/etc\/login.conf \/etc\/profile: MM_CHARSET=UTF-8; export MM_CHARSET # pw usermod \u042e\u0437\u0432\u0435\u0440 -L russian-utf8 \u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 9.0, \u0434\u043b\u044f syscons(4) \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0438 \u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u043e &#8211; \u0434\u043b\u044f vt(4) \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430, \u0432 \/etc\/ttys \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0438\u043f &#8230;<\/p>\n<p><a href=\"https:\/\/tst-amo.net.ua\/blog\/?p=2557\" class=\"more-link\">Continue reading &lsquo;UTF-8 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438&rsquo; &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[50,79,102],"tags":[],"class_list":["post-2557","post","type-post","status-publish","format-standard","hentry","category-freebsd","category-utf-8","category-102"],"_links":{"self":[{"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2557"}],"collection":[{"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2557"}],"version-history":[{"count":3,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2557\/revisions"}],"predecessor-version":[{"id":2561,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=\/wp\/v2\/posts\/2557\/revisions\/2561"}],"wp:attachment":[{"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2557"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2557"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tst-amo.net.ua\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2557"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}