Задать вопрос
@1099511627776
Пишу все что интересно и на всем на чем интересно

Как сравнить 2 символа кирилицы?

Здравствуйте

Извините за нубский вопрос, т.к. 2-й день взялся посмотреть erlang.

Задача в следующем

есть строка разбитая на символы и к ней применяется некий алгоритм по замене символов.

к примеру
func(CHAR)->
	case string:equal(CHAR,"о") of
		true
			-> "і";
		_Else
			-> CHAR
	end.


т.е. если входной символ — «о» то я хочу его заменить на "і" если нет, то нет.

но у меня string:equal — не отрабатывает я думаю из-за кодировок.

Только вот теперь не знаю как именно мне их закодить?


P.S. Windows XP, файл исходника в windows-1251, пробовал разные кодировки исходника в т.ч. UTF-8
  • Вопрос задан
  • 3761 просмотр
Подписаться 3 Оценить 1 комментарий
Решения вопроса 1
@1099511627776 Автор вопроса
Пишу все что интересно и на всем на чем интересно
Как бы разобрался
проблема как всегда в Windows-е
потому что если я ввожу в консольке текст то он в кодировке windows-1251 и результат тоже выводится в той ще кодировке, но вот сам консоль его интерпретирует как cp866.

Спасибо за внимание
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
iSage
@iSage
2> string:equal("ф", "ф").    
true

linux, utf-8
Ответ написан
@1099511627776 Автор вопроса
Пишу все что интересно и на всем на чем интересно
Пользуютсь для разбивки
 string:sub_string(TEXT,POS,POS)

В том то и проблема что сейчас я не под линуксом и поэтому у меня здесь минимум 3 кодировки 1 — UTF8 исходник, CP866 — Консоль cmd ну и CP1251.

P.S. Минусующим: Наверноє Вам слово Windows подействовало на нервы :) не надо так пугаться это только название ОС
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы