Вверх ↑
Этот топик читают: Гость
Ответов: 537
Рейтинг: 14
#1: 2018-12-21 16:38:15 ЛС | профиль | цитата
Как в хайясме работать с такими символами например ½ ≤, я парсю страницу, а там такие символы попадаются, так не могу сохранить, вместо этих символов вопросительный знак.
карма: 4

0
vip
#1.1контекстная реклама от партнеров
Ответов: 4621
Рейтинг: 746
#2: 2018-12-21 16:44:54 ЛС | профиль | цитата
Компоненты у нас работают в кодировке ANSI. Если строка в кодировке UTF-8, можно какие-то действия проводить с ней (поиск-замена символов, сохранение в файл), но отобразить в окне не получится.
карма: 26

0
Ответов: 537
Рейтинг: 14
#3: 2018-12-21 16:59:08 ЛС | профиль | цитата
Сайт в кодировке UTF-8, страница парсится и текст добавляется в компонент StrList и сохраняется в текстовый файл, если открыть файл в блокноте, то в место этих символов вопросительные знаки. Так как с ними работать (поиск-замена символов, сохранение в файл) если эти символы я даже в замену не могу поставить?
карма: 4

0
Ответов: 4621
Рейтинг: 746
#4: 2018-12-21 17:53:00 ЛС | профиль | цитата
Sersey писал(а):
если открыть файл в блокноте, то в место этих символов вопросительные знаки
В каком-то месте перед сохранением происходит перекодирование. Например, текст сначала заносится в окно, там неподдерживаемые символы теряются, затем обратно считывается уже битый. Или неправильно используется Charset, когда UTF-8 преобразовывается в ANSI с потерей.
Sersey писал(а):
если эти символы я даже в замену не могу поставить
Это хлопотно, но возможно - нужно либо записать в HEX, затем сделать HexToString, либо если надо поставить в свойство, то использовать нотацию \<код символа>, например \13\10 (только учитывать что в UTF-8 один символ может иметь размер от 1 до 4 байт, то-есть, нужно указать коды всех байт, для ½ это будет как \194\189).

Или использовать это: /topic/61538



Редактировалось 3 раз(а), последний 2018-12-21 18:33:13
карма: 26

0
Ответов: 537
Рейтинг: 14
#5: 2018-12-21 19:18:15 ЛС | профиль | цитата
В последнем варианте (/topic/61538) все хорошо, только компонент StrMask не работает, а если менять \194\189 на 1/2, то в тексте потом непонятно что написано.
карма: 4

0
5
Сообщение
...
Прикрепленные файлы
(файлы не залиты)