Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: кирилица в bash
Форумы портала PHP.SU » Серверное администрирование » Администрирование *nix » кирилица в bash

Страниц (1): [1]
 

1. DlTA - 20 Марта, 2013 - 11:46:42 - перейти к сообщению
суть в том что как то через раз выводятся кракозябры по ssh в FreeBSD
на сервере $MM_CHARSET=KOI8-R
в начало пробуем с Cygwin у которого
$LANG=ru_RU.UTF-8

набираем команду
php -r "echo '▒▒▒▒';" аа
то что внутри одинарных кавычек это русские буквы аа и вот то что внутри двойных кавычек набираемое кирилицей выглядит вот так коряво, а вот если набирать за пределами двойных кавычек то получаем человеческие русские символы аа
странно

теперь пробуем подключиться из консоли дебиана 6
у которого:
$LANG=ru_UA.utf8
php "echo '�������';" аааа
при набирании команды получаем тоже самое, тоесть врунтри двойных кавчек набираемые кирилические символы выглядят коряво, а за пределами двойных кавычек уже выглядят правильно

после попытке сменить кодировку в во внутренней консоли,
или на внешней на MM_CHARSET=UTF-8
ничего не изменилось, таже хрень,

также проблемно выводятся кирилические символы выдаваемые справкой vi при работе по ssh

где искать косяк?
2. xreprimand - 26 Апреля, 2013 - 18:30:11 - перейти к сообщению
DlTA пишет:
ssh в FreeBSD

Лови:
CODE (htmlphp):
скопировать код в буфер обмена
  1. luit -encoding "KOI8-R" ssh username@192.168.1.2
3. DlTA - 26 Апреля, 2013 - 21:46:30 - перейти к сообщению
xreprimand пишет:
luit -encoding "KOI8-R" ssh username@192.168.1.2
вау работает
а терь можно теории? а то судя из моего иностранного оно ток преобразует кодировку.
4. xreprimand - 28 Апреля, 2013 - 18:49:11 - перейти к сообщению
luit - это такой фильтр-перекодировщик. И ничего более. В нашем случае - с кои8-р в локаль Вашего терминала
когда вы заходите напрямую по ssh на freebsd машину, то и кодировку получаете соответствующую.
Если попытаться пользоваться терминалом без luit-а, то написанные символы будут отображаться верно (наверно потому что вы пишете в utf8 и получаете utf8 обратно) но как оно работает на самом деле - неизвестно. Попробуйте для теста написать (без luit) букву "ы" без кавычек, стереть ее backspace-ом и нажать enter. Увидите что будет.
Сейчас я только luit-ом и пользуюсь - никаких нареканий

 

Powered by ExBB FM 1.0 RC1