проблемы с кириллицей после трансляции проекта с дельфи

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

Re: проблемы с кириллицей после трансляции проекта с дельфи

Сообщение Дож » 27.03.2014 18:30:27

Мне очень стыдно, но я не понял что из этого следует в моем случае.

Что Вам нужно-то?
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 899
Зарегистрирован: 12.10.2008 16:14:47

Re: проблемы с кириллицей после трансляции проекта с дельфи

Сообщение ya_vanka » 27.03.2014 18:32:45

Мне нужно, чтобы работала функция UTF8ToAnsi.


К вопросу о локали:

locale
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=ru_RU.UTF-8
LC_TIME=ru_RU.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=ru_RU.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=ru_RU.UTF-8
LC_NAME=ru_RU.UTF-8
LC_ADDRESS=ru_RU.UTF-8
LC_TELEPHONE=ru_RU.UTF-8
LC_MEASUREMENT=ru_RU.UTF-8
LC_IDENTIFICATION=ru_RU.UTF-8
LC_ALL=
Последний раз редактировалось ya_vanka 27.03.2014 18:33:51, всего редактировалось 1 раз.
ya_vanka
новенький
 
Сообщения: 89
Зарегистрирован: 07.08.2013 14:28:41

Re: проблемы с кириллицей после трансляции проекта с дельфи

Сообщение Дож » 27.03.2014 18:33:21

Ну да, поэтому UTF8ToAnsi и переводит Вам строки в кодировку utf-8.
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 899
Зарегистрирован: 12.10.2008 16:14:47

Re: проблемы с кириллицей после трансляции проекта с дельфи

Сообщение ya_vanka » 27.03.2014 18:38:29

A-a.
В общем путаница у меня в голове. Я почему-то думал, что функция UTF8ToAnsi преобразует строку из кодировки UTF8 в CP1251.

А есть такая функция?
ya_vanka
новенький
 
Сообщения: 89
Зарегистрирован: 07.08.2013 14:28:41

Re: проблемы с кириллицей после трансляции проекта с дельфи

Сообщение Дож » 27.03.2014 18:51:55

Попробуйте UTF8ToCP1251.
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 899
Зарегистрирован: 12.10.2008 16:14:47

Re: проблемы с кириллицей после трансляции проекта с дельфи

Сообщение ya_vanka » 27.03.2014 18:58:14

Спасибо за помощь!
ya_vanka
новенький
 
Сообщения: 89
Зарегистрирован: 07.08.2013 14:28:41

Re: проблемы с кириллицей после трансляции проекта с дельфи

Сообщение alexs » 28.03.2014 09:37:15

ya_vanka
Забудьте про обращение к строке как к массиву символов. По крайней мере это относится к AnsiString. Либо переходите на WideString либо использовать функции UTF8Pos, UTF8Copy и подобные.

Строки UTF8 должны обрабатываться как поток а не как массив. Т.е. вы должны запоминать позицию превыдущего обработанного символа и следующую итерацию начинать с неё. Иначе будет просадка по скорости.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: проблемы с кириллицей после трансляции проекта с дельфи

Сообщение xdsl » 28.03.2014 23:06:08

ya_vanka, в общем случае к widestring тоже бесполезно обращаться как к массиву символов. Во первых - суррогатные пары, во вторых - диакритические знаки. Плюс еще несколько фишек в стандарте юникода, которые, правда, мало кто реализовал.

Собственно, пишу потихоньку учебно-методическое пособие по Free Pascal, в третьей части которого подробно рассказывается об обработке строк. Почитайте, возможно поможет в понимании обработки юникода: https://shgpi.edu.ru/forum/viewtopic.php?t=1048
xdsl
постоялец
 
Сообщения: 131
Зарегистрирован: 15.01.2009 13:49:03

Re: проблемы с кириллицей после трансляции проекта с дельфи

Сообщение ya_vanka » 01.04.2014 12:56:06

Спасибо, почитаю.
ya_vanka
новенький
 
Сообщения: 89
Зарегистрирован: 07.08.2013 14:28:41

Re: проблемы с кириллицей после трансляции проекта с дельфи

Сообщение bormant » 03.04.2014 08:43:52

xdsl,
по поводу 3-ей части есть такое замечание:
стр. 10
Этот набор символов описывается терминами "базовый план", Basic Multilingual Plane, BMP.

Произошла путаница с plan, перевод "plane" с английского -- плоскость, уровень. Вместо "базовый план" лучше использовать что-вроде "Базовый мультиязычный уровень", "основной мультиязычный уровень", или даже "набор".
Аватара пользователя
bormant
постоялец
 
Сообщения: 407
Зарегистрирован: 21.03.2012 11:26:01

Re: проблемы с кириллицей после трансляции проекта с дельфи

Сообщение xdsl » 07.04.2014 12:21:05

bormant
Логика в Ваших словах есть. Сейчас понимаю, что слово "план" может ввести в заблуждение читателей. Исправлю.
xdsl
постоялец
 
Сообщения: 131
Зарегистрирован: 15.01.2009 13:49:03

Re: проблемы с кириллицей после трансляции проекта с дельфи

Сообщение zoltanleo » 11.04.2014 19:46:34

xdsl
еще есть замечания:
1. повсюду в тексте встречается раздельное написание "не смотря", хотя иногда оно ошибочно. Можно воспользоваться в качестве ориентира этой статьей

2. часть 3 стр 19
фраза "поэтому строках 1-3 производится подключение модуля cwstring в случае, если Windows не является целевой платформой" разве не вступает в противоречие с кодом ?
Код: Выделить всё
uses {$ IFENDEF WINDOWS}
cwstring, {$ ENDIF} ...


зы. самый дельный мануал, который я читал. Респект автору. Жду продолжения. :)
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 457
Зарегистрирован: 17.10.2013 10:55:01

Re: проблемы с кириллицей после трансляции проекта с дельфи

Сообщение xdsl » 13.04.2014 12:54:41

zoltanleo писал(а):xdsl
еще есть замечания:
1. повсюду в тексте встречается раздельное написание "не смотря", хотя иногда оно ошибочно. Можно воспользоваться в качестве ориентира этой статьей
Учту.
zoltanleo писал(а):2. часть 3 стр 19
фраза "поэтому строках 1-3 производится подключение модуля cwstring в случае, если Windows не является целевой платформой" разве не вступает в противоречие с кодом ?
Код: Выделить всё
uses {$ IFENDEF WINDOWS}
cwstring, {$ ENDIF} ...
Не вступает. {$IFNDEF WINDOWS} переводится как "если не виндовс ..."
zoltanleo писал(а):зы. самый дельный мануал, который я читал. Респект автору. Жду продолжения. :)
Спасибо! Разгребусь с текучкой и продолжу в мае-июне.
xdsl
постоялец
 
Сообщения: 131
Зарегистрирован: 15.01.2009 13:49:03

Re: проблемы с кириллицей после трансляции проекта с дельфи

Сообщение zoltanleo » 13.04.2014 23:15:24

xdsl писал(а):{$IFNDEF WINDOWS} переводится как "если не виндовс ..."


надо же, ни разу встречал. Буду знать ...
Аватара пользователя
zoltanleo
постоялец
 
Сообщения: 457
Зарегистрирован: 17.10.2013 10:55:01

Пред.

Вернуться в Обучение Free Pascal

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

Рейтинг@Mail.ru