![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| ilyalyu |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
Такая проблема. Имеется текст содержащий русские символы. Его нужно сохранить в формате HTML. Для того чтобы русские символы нормально отображались в браузере, к HTML-коду необходимо добавить:
где CHARSET_NAME - название кодировки. В моем случае это "Windows-1251", т.е. добавлять нужно:
Однако, у пользователя может быть не русская Windows и совсем другая кодировка. Поэтому название кодировки надо определить программно (а не подсмотреть в браузере). Вот в этом и вопрос. (Небольшое уточнение: текст не прислан с какого-то другого компьютера, а набран внутри самой программы, например, в TMemo; т.е. задача - не пытаться распознать кодировку неизвестного текста, а определить какая кодировка была использована в компоненти TMemo). Это сообщение отредактировал(а) ilyalyu - 15.9.2008, 23:16 |
||||
|
|||||
| Matematik |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1027 Регистрация: 11.3.2006 Репутация: 17 Всего: 50 |
> Однако, у пользователя может быть не русская Windows и совсем другая кодировка.
Все современные (и не очень) браузеры знают кириллицу (Windows-1251). Текст будет отображаться в той кодировке которую укажешь в META. |
|||
|
||||
| aleksh |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 609 Регистрация: 8.7.2008 Репутация: 3 Всего: 13 |
а откуда мы узнаем какие буквы русские? откуда текст? точно надо указывать, ибо если потом читать браузерам -- большинство само выбирет правильную кодировку? юникод может быть?
а если по сути -- если память мне не изменяет, то смотрится в каком диапазоне код символа |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
DRKB
Системные функции и WinAPI -> Windows -> Шрифты, языки, кодировки -> Многоязычие, локализации и перекодировка -> Распознавание кодировки |
|||
|
||||
| ilyalyu |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
To Snowy: спасибо за ссылку, но там рассматривается несколько другой вопрос.
Там рассматривается случай, когда имеется текст неизвестного происхождения и нужно определить в какой он кодировке. У меня ситуация другая: текст набран в программе и отображается, допустим, в TMemo. Поэтому мне не нужно анализировать сам текст (тем более что этот метод ненадежен). Достаточно программно определить, какая кодировка используется в TMemo. Это сообщение отредактировал(а) ilyalyu - 15.9.2008, 23:13 |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Тогда проще.
GetTextCharsetInfo |
|||
|
||||
| ilyalyu |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 25.10.2006 Репутация: нет Всего: нет |
Спасибо, действительно GetTextCharsetInfo(Canvas.Handle) возвращает номер чарсета, а по нему уже можно востановить и название
Вопрос закрыт Это сообщение отредактировал(а) ilyalyu - 16.9.2008, 22:29 |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |