Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2012, 19:04   #1
ZePr
Пользователь
 
Аватар для ZePr
 
Регистрация: 02.07.2010
Сообщений: 40
Вопрос Проблема с определением кодировки

Проблема такая, пишу программу. К ней из сети приходит строка. Если она на английском то всё нормально, если на русском то тоже всё нормально, но вот если на русском и в UTF8 то отображаются крякозябры. При использовании UTF8Decode она конечно своё отрабатывает, но если текст был не в UTF8 и на русском то выходит пустая строка. Что не есть хорошо. Прошу помощи)
Проблема на скринах:
Всё нормально:

UTF8:

Есть ли какое то решение для нормального отображения?

Последний раз редактировалось ZePr; 06.01.2012 в 19:53.
ZePr вне форума Ответить с цитированием
Старый 06.01.2012, 21:33   #2
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Цитата:
Есть ли какое то решение для нормального отображения?
Не мешать всё в одну кучу, а отслеживать кодировки.

То, что отдаёт строку - это кто такой будет? В какой кодировке он должен её отдавать? Что написано в спецификации? Может кодировка как-то указывается?
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 06.01.2012, 22:05   #3
ZePr
Пользователь
 
Аватар для ZePr
 
Регистрация: 02.07.2010
Сообщений: 40
По умолчанию

if Length(utf8decode(s))=0 then Result:=s
else Result:=UTF8Decode(s)

Извиняюсь, решил сам)
ZePr вне форума Ответить с цитированием
Старый 06.01.2012, 22:07   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
Извиняюсь, решил сам)
Ай, молодец какой)
Цитата:
[censored] (23:32) :
Ну [censored] его знает пустая или на вид, во всяком случае ни одногго символа

MAD_CAT (23:32) :
посмотри на длину строки после >> если она была на русском но не в UTF8

MAD_CAT (23:34) :
вот так и сравнивай)
s --- полученная строка
buf:=s;
if Trim(UTF8Decode(s))='' then {вывод buf}
else {вывод s}
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 06.01.2012, 22:14   #5
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Пиздец решение.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 06.01.2012, 22:15   #6
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

GunSmoker,
Цитата:
3.14здец решение.
А чего заморачиваться то? )))
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 06.01.2012, 23:19   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
А чего заморачиваться то? )))
А если еще в какой-то 3-ей или 4-ой кодировке строка будет?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 06.01.2012, 23:21   #8
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
А если еще в какой-то 3-ей или 4-ой кодировке строка будет?
Когда будет тогда и придумает) Решайте проблемы по мере их поступления)
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 08.01.2012, 15:03   #9
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Выложите куда нибудь Вашу программу, хоть радио украинское послушаю.
FaTaL вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с определением параметра при реализации запроса Margarett Помощь студентам 3 14.03.2010 17:56
Проблема с определением процента загрузки процессора Jogik_86 Помощь студентам 0 17.12.2009 03:28
Проблема с определением строки в макросе Евгений(mE) Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 17.11.2008 11:40
проблема кодировки в Delphi for PHP 2.0 wayfarer Общие вопросы Delphi 1 15.09.2008 17:57
проблема с определением внешнего ключа! veter_s_morya SQL, базы данных 1 26.06.2008 18:37