Мастера DELPHI, Delphi programming community Рейтинг@Mail.ru Титульная страница Поиск, карта сайта Написать письмо 
| Новости |
Новости сайта
Поиск |
Поиск по лучшим сайтам о Delphi
FAQ |
Огромная база часто задаваемых вопросов и, конечно же, ответы к ним ;)
Статьи |
Подборка статей на самые разные темы. Все о DELPHI
Книги |
Новинки книжного рынка
Новости VCL
Обзор свежих компонент со всего мира, по-русски!
|
| Форумы
Здесь вы можете задать свой вопрос и наверняка получите ответ
| ЧАТ |
Место для общения :)
Орешник |
Коллекция курьезных вопросов из форумов
KOL и MCK |
KOL и MCK - Компактные программы на Delphi
Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / rsdn.org

 
Чтобы не потерять эту дискуссию, сделайте закладку « предыдущая ветвь | форум | следующая ветвь »

Проблема с кодировкой


Viktor   (17.02.14 22:40

procedure TZakazFT.FormCreate(Sender: TObject);
var S: String;
begin
S:='абв';
ShowMessage('"'+S[1]+'"'); //показывает "?" а надо "а"
end;

lazarus 1.0.12 win7 x64


Viktor   (17.02.14 22:44[1]

Какую функцию использовать?


KSergey ©   (16.03.14 16:56[2]

В Lazarus все строковые константы - в UTF-8 (не UNICODE!)
String - скорее всего байтовый (но с похаченными функциями определения нужного размера)
А значит и [] получает доступ побайтово, а не посимвольно.
как посимвольно - надо гуглем поискать.


NoUser ©   (17.03.14 21:58[3]

var S:String; // UTF8String;
begin
S:='абв';
ShowMessage ('"'+UTF16ToUTF8( UTF8ToUTF16(S) [1] )+'"');
end;


Дмитрий К ©   (18.03.14 12:09[4]

S := UTF8Decode('абв');


KSergey ©   (21.03.14 11:48[5]

> NoUser ©   (17.03.14 21:58) [3]

На сколько я понимаю - UTF16 тоже плавающее кол-во байт на символ имеет, т.е. это неудачный вариант, подходящий только в частном конкретном случае.


NoUser ©   (21.03.14 18:00[6]

http://www.freepascal.ru/forum/viewtopic.php?f=5&t=9035
+
http://wiki.freepascal.org/LCL_Unicode_Support
=
поиск не-частного не-конкретного случая. ;)


версия для печати

Написать ответ

Ваше имя (регистрация  E-mail 







Разрешается использование тегов форматирования текста:
<b>жирный</b> <i>наклонный</i> <u>подчеркнутый</u>,
а для выделения текста программ, используйте <code> ... </code>
и не забывайте закрывать теги! </b></i></u></code> :)


Наверх

  Рейтинг@Mail.ru     Титульная страница Поиск, карта сайта Написать письмо