SASGIS - SAS.Планета |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0002695 | SAS.Планета | [All Projects] Баг | public | 22-04-2015 14:56 | 24-04-2015 00:02 |
|
Reporter | zed | |
Assigned To | vdemidov | |
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | resolved | Resolution | fixed | |
Platform | | OS | | OS Version | |
Product Version | 141212 | |
Target Version | 150915 | Fixed in Version | 150915 | |
|
Summary | 0002695: Юникод: Проблемы с кодировкой в описании метки, созданной через IGeoCodePlacemarkFactory и пустом поле AFullDesc |
Description | Напоролся на баг, что в XE2 если не указывать AFullDesc при создании метки, как это делается в геокодере яндекса, то при клике по метке в окне браузера получаются кракозябры. |
Steps To Reproduce | |
Additional Information | Пример создания глючного описания:
VPlace := PlacemarkFactory.Build(VPoint, VName, VDescription, '', 4); (u_GeoCoderByYandex.pas) |
Tags | юникод |
Relationships | |
Attached Files | Image 2.jpg (153,618) 23-04-2015 09:04 https://bugtracker.sasgis.org/file_download.php?file_id=1863&type=bug
|
|
Issue History |
Date Modified | Username | Field | Change |
22-04-2015 14:56 | zed | New Issue | |
22-04-2015 14:57 | zed | Description Updated | bug_revision_view_page.php?rev_id=6543#r6543 |
22-04-2015 14:57 | zed | Additional Information Updated | bug_revision_view_page.php?rev_id=6545#r6545 |
22-04-2015 15:05 | zed | Tag Attached: юникод | |
23-04-2015 08:29 | vasketsov | Note Added: 0015686 | |
23-04-2015 08:34 | zed | Note Added: 0015687 | |
23-04-2015 08:56 | vasketsov | Note Added: 0015688 | |
23-04-2015 08:59 | zed | Note Added: 0015689 | |
23-04-2015 09:04 | zed | File Added: Image 2.jpg | |
23-04-2015 09:05 | zed | Note Added: 0015690 | |
23-04-2015 09:17 | vdemidov | Note Added: 0015691 | |
23-04-2015 09:24 | zed | Note Added: 0015692 | |
23-04-2015 10:01 | vdemidov | Note Added: 0015694 | |
23-04-2015 10:03 | vdemidov | Note Added: 0015695 | |
23-04-2015 10:09 | zed | Note Added: 0015696 | |
23-04-2015 10:14 | zed | Note Edited: 0015696 | bug_revision_view_page.php?bugnote_id=15696#r6547 |
23-04-2015 10:21 | vdemidov | Note Added: 0015697 | |
23-04-2015 10:23 | zed | Note Added: 0015698 | |
23-04-2015 10:30 | vdemidov | Note Added: 0015699 | |
23-04-2015 10:33 | zed | Note Added: 0015700 | |
23-04-2015 10:36 | vdemidov | Note Edited: 0015699 | bug_revision_view_page.php?bugnote_id=15699#r6549 |
23-04-2015 10:37 | vdemidov | Note Added: 0015701 | |
23-04-2015 10:49 | vdemidov | Status | new => confirmed |
23-04-2015 10:49 | vdemidov | Target Version | => 150915 |
23-04-2015 15:24 | vasketsov | Note Added: 0015706 | |
23-04-2015 15:29 | vasketsov | Note Edited: 0015706 | bug_revision_view_page.php?bugnote_id=15706#r6551 |
23-04-2015 15:33 | vdemidov | Note Added: 0015707 | |
23-04-2015 16:42 | vasketsov | Note Added: 0015709 | |
23-04-2015 20:47 | vdemidov | Note Added: 0015713 | |
23-04-2015 20:58 | vdemidov | Status | confirmed => resolved |
23-04-2015 20:58 | vdemidov | Fixed in Version | => 150915 |
23-04-2015 20:58 | vdemidov | Resolution | open => fixed |
23-04-2015 20:58 | vdemidov | Assigned To | => vdemidov |
24-04-2015 00:02 | vasketsov | Note Added: 0015715 | |
Notes |
|
|
Подозреваю, это из-за SML, потому что в SQLite3 проблем нет. |
|
|
(0015687)
|
zed
|
23-04-2015 08:34
|
|
Оно ж как бы в метки и не попадает. Это результаты поиска, которые отображаются как метки. Подозреваю, что где-то на пути к браузеру, который выводит описание, есть ansi преобразование. Но где оно там глючит, не нашёл. |
|
|
|
>метки и не попадает
Тогда каким образом оно попадает в browser?
Не понимаю.
Может по wiki или по метке всё же кликаешь?
Впрочем, с wiki на XE2 как раз нет проблем.
Хотя ладно, видимо что-то не догоняю. Забей. |
|
|
(0015689)
|
zed
|
23-04-2015 08:59
|
|
Естественно, при клике по метке (красный кружок aka результат поиска) на карте и открывается это описание. |
|
|
(0015690)
|
zed
|
23-04-2015 09:05
|
|
Приложил скриншот. Вместо мусора, в описании должно быть: "Минская область, Беларусь". |
|
|
|
А в других геокодерах оно точно все нормально показывает? |
|
|
(0015692)
|
zed
|
23-04-2015 09:24
|
|
И в других тоже. Гугл, OSM, Яндекс: даже если в FullDesc что-нибудь и прописать - не помогает. Вчера для яндекса почему-то помогало. |
|
|
|
Это похоже сам эксплорер уже глючит.
Нужно в TTextByVectorItemHTMLByDescription.GetText добавить указание что кодировка юникодная в юникодной версии программы. Или в TInternalDomainInfoProviderByLastSearchResults добавить в AContentType := 'text/html'; указание юникодной кодировки. |
|
|
|
Еще вариант в TBinaryData.CreateByString в юникодной версии добавлять BOM в начало блока. |
|
|
(0015696)
|
zed
|
23-04-2015 10:09
(edited on: 23-04-2015 10:14) |
|
Функция TTextByVectorItemHTMLByDescription.GetText вообще не вызывается ни разу.
Срабатывает TInternalDomainInfoProviderByLastContent.LoadBinaryByFilePath
|
|
|
|
А, ну да. значит:
Или в TInternalDomainInfoProviderByLastContent.LoadBinaryByFilePath добавить в AContentType := 'text/html'; указание юникодной кодировки.
Еще вариант в TBinaryData.CreateByString в юникодной версии добавлять BOM в начало блока. |
|
|
(0015698)
|
zed
|
23-04-2015 10:23
|
|
> указание юникодной кодировки.
Что конкретно писать? |
|
|
(0015699)
|
vdemidov
|
23-04-2015 10:30
(edited on: 23-04-2015 10:36) |
|
А чтоб я знал. Нужно попробовать что-то типа "text/html; charset=UTF-16"
Возможно вместо UTF-16 нужно что-то другое. Например UTF-16LE
|
|
|
(0015700)
|
zed
|
23-04-2015 10:33
|
|
Перепробовал всё что можно и похоже, что оно игнорирует строчку charset. Пробовал и в utf-8 перегнать - ситуация аналогичная. Вид кракозябров поменялся, кодировку игнорит... |
|
|
|
Ну, вариант добавить BOM символ в TBinaryData.CreateByString. |
|
|
(0015706)
|
vasketsov
|
23-04-2015 15:24
(edited on: 23-04-2015 15:29) |
|
Фигасе вы тут разогнались ))) уже до BOM руками докатились )))
Беру метку из геокодера гугла.
Создаю по ней по ПКМ обычную метку.
Прямо вот в Пекине, с иероглифами.
Кликаю по ней.
В броузере всё отлично.
ЧЯДНТ?
upd. Про иероглифы нагнал, хинты только работают и вики, иероглифы на знаки вопроса заменились. А вот при поиске
"Минск" и клике в броузере показывается именно "Минск, Беларусь ".
Может это из-за того, что у меня нет EmbeddedWB?
|
|
|
|
> Создаю по ней по ПКМ обычную метку.
А при чем здесь метки? Речь про нажатие на маркер результатов поиска.
> Может это из-за того, что у меня нет EmbeddedWB?
Все может быть. |
|
|
|
>Речь про нажатие на маркер результатов поиска
То же самое, что и с метками, то есть, всё нормально, "Минск, Беларусь ". |
|
|
|
Может проблема и в EmbeddedWB но добавление BOM ее исправляет. |
|
|
|
>добавление BOM
Хм. Не слишком ли глобально?
Лечится в браузере по месту тоже отлично. Залил как. Может и в EmbeddedWB так прокатит. Сейчас у меня проблем вроде не осталось с метками. |
|