Re[3]: UTF-8
От: c-smile Канада http://terrainformatica.com
Дата: 27.05.09 03:42
Оценка: 3 (1)
I>Андрей, куда дели wiki с terrainformatica.com?

http://www.terrainformatica.com/ , left sidebar, last link
UTF-8
От: Gek Россия  
Дата: 08.05.09 16:39
Оценка:
Доброго времени суток

htmlayout::dom::element root = htmlayout::dom::element::root_element(m_hWnd);
htmlayout::dom::element el = root.find_first(sName.GetBuffer());
el.set_value(sText.GetBuffer());
HTMLayoutUpdateElementEx(el, REDRAW_NOW);

Шаблон имеет charset UTF-8. Все строки которые находятся в html показываются правильно.
Данные выбираются из базы в кодировке UTF-8. Далее я пытаюсь эти данные показать на странице использую код выше. Строки показываются неправильно.

В чем может быть проблема?
Re: UTF-8
От: c-smile Канада http://terrainformatica.com
Дата: 08.05.09 17:15
Оценка:
Здравствуйте, Gek, Вы писали:

Gek>Доброго времени суток


Gek>htmlayout::dom::element root = htmlayout::dom::element::root_element(m_hWnd);

Gek>htmlayout::dom::element el = root.find_first(sName.GetBuffer());
Gek>el.set_value(sText.GetBuffer());
Gek>HTMLayoutUpdateElementEx(el, REDRAW_NOW);

Gek>Шаблон имеет charset UTF-8. Все строки которые находятся в html показываются правильно.

Gek>Данные выбираются из базы в кодировке UTF-8. Далее я пытаюсь эти данные показать на странице использую код выше. Строки показываются неправильно.

Gek>В чем может быть проблема?


Поставь breakpoint на
el.set_value(sText.GetBuffer());

и увидешь что исполняется вот это:
value( const char* s ) 
      { 
        aux::a2w as(s);
        ValueInit(this); ValueStringDataSet(this, as, as.length(), UT_SYMBOL); 
      }


А тебе нужно на самом деле это:
el.set_value( aux::utf2w( sText.GetBuffer()) );
Re[2]: UTF-8
От: insanio www.falsecode.ru
Дата: 27.05.09 03:17
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Поставь breakpoint на

CS>
CS>el.set_value(sText.GetBuffer());
CS>

CS>и увидешь что исполняется вот это:
CS>
CS>value( const char* s ) 
CS>      { 
CS>        aux::a2w as(s);
CS>        ValueInit(this); ValueStringDataSet(this, as, as.length(), UT_SYMBOL); 
CS>      }
CS>


CS>А тебе нужно на самом деле это:

CS>
CS>el.set_value( aux::utf2w( sText.GetBuffer()) );
CS>



Спасибо, помогло.

Андрей, куда дели wiki с terrainformatica.com?
---
if it works, dont fix it.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.