|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
31.03.2010, 12:08 | #1 |
Пользователь
Регистрация: 03.03.2010
Сообщений: 10
|
UTF-8. ORD()не работает
Помогите разобраться с кодировками - уже второй день сижу и ничего вразумительного не смогу сообразить, как мне получить второй байт UTF? первый получается с ORD, а как "вымутить" второй?
Как мне получить код символов в кодировке UTF? вот результат этого кода меня просто поставил в тупик... PHP код:
................... v->118->v w->119->w x->120->x y->121->y z->122->z {->123->{ |->124->| }->125->} ~->126->~ ->127-> Ђ->208->Р Ѓ->208->Р ‚->226->в ѓ->209->С „->226->в …->226->в †->226->в ‡->226->в €->226->в ‰->226->в Љ->208->Р ................ Как видите, начиная со 127 символа все "посыпалось" и соответствие уже нарушилось. Как я со всего этого понял, в UTF русского используется несколько номеров. ну например букве "В"(код226) соответствует несколько символов, значит не хватает еще какого то кода. Вот и возникает вопрос, как получить полный код UTF для символа на русском языке (тот второй заветный байт?)? т.е ORD уже не подходит - так как эта ф-я выводит лишь первую часть кода - первый байт, а так как англ язык как раз помещается в первый байт, то ORD работает нормально, или я ее неправильно использую? Если у меня кривые руки, то хоть помогите исправить, а то реально не пойму что я делаю не так. С ORD вроде все норм, но с UTF не нормально работает, вобщем, есть ли станд ф-и аналоги ORD для UTF.. Почему я использую iconv: если делать просто PHP код:
Вобщем, посоветуйте как быть. Это нужно для кодирования информации на сервере(лабораторная работа). Закодировать то я могу, а вот раскодировать - проблема- - не могу распознать символы, ну если я ставлю UTF кодировку. С ситуации я то выкрутился и поставил на сервере кодировки cp1251, ну и в самом доке, но это ж просто избегание проблемы, да и стойкость кодирования будет явно ниже, так как UTF содержит во наааааамного больше символов
"В будущем на рынке останется два вида компаний: те, кто в Интернет и те, кто вышел из бизнеса.."
(Билл Гейтс) Последний раз редактировалось alex-chz; 31.03.2010 в 12:37. |
31.03.2010, 12:39 | #2 |
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
Вам надо вывести в utf-8 символы ascii котырые соответсвуют символу в utf8?
С учётом этого, даже не знаю как обьяснить PHP код:
Стрелок-охотник
Последний раз редактировалось mv28jam; 31.03.2010 в 13:39. |
02.04.2010, 12:55 | #3 |
Пользователь
Регистрация: 03.03.2010
Сообщений: 10
|
Ну как сказать. Результат его выполнения вот
7b->123->{ 7c->124->| 7d->125->} 7e->126->~ 7f->127-> d082->128->Р‚ d083->129->Рѓ e2809a->130->‚ d193->131->С“ e2809e->132->„ e280a6->133->… e280a0->134->†e280a1->135->‡ e282ac->136->€ e280b0->137->‰ d089->138->Р‰ e280b9->139->‹ d08a->140->РЉ d08c->141->РЊ d08b->142->Р‹ d08f->143->РЏ d192->144->С’ e28098->145->вЂ�br>e28099->146->’ e2809c->147->“ e2809d->148->” e280a2->149->• e28093->150->– e28094->151->— ->152-> e284a2->153->в„ў d199->154->С™ e280ba->155->› d19a->156->Сљ d19c->157->Сњ d19b->158->С› d19f->159->Сџ Опять же спроблем с однобайтными нет, а вот двубайтные... Ну вот например строка e2809e->132->„ т.е шестнадцатиричной форме и ASCII коду соответствуют три символа: в,Ђ,ћ. В принципе такое можно подчистить регулярными - ну например удалить "В" во всех строках, кроме упоминания ее в первый раз, но вот как узнать что я хотел отобразить, "в","Ђ" или все таки "ћ"?
"В будущем на рынке останется два вида компаний: те, кто в Интернет и те, кто вышел из бизнеса.."
(Билл Гейтс) Последний раз редактировалось alex-chz; 02.04.2010 в 13:01. |
02.04.2010, 13:13 | #4 |
Пользователь
Регистрация: 03.03.2010
Сообщений: 10
|
пардон, все работает, я просто забыл сменить кодировку в .htaccess:
7d->125->} 7e->126->~ 7f->127-> d082->128->Ђ d083->129->Ѓ e2809a->130->‚ d193->131->ѓ e2809e->132->„ e280a6->133->… e280a0->134->† e280a1->135->‡ e282ac->136->€ mv28jam,спасибо большое, буду разбираться дальше=)
"В будущем на рынке останется два вида компаний: те, кто в Интернет и те, кто вышел из бизнеса.."
(Билл Гейтс) |
04.04.2010, 19:31 | #5 |
Пользователь
Регистрация: 03.03.2010
Сообщений: 10
|
Интересно получается. При выполнении кода
PHP код:
"В будущем на рынке останется два вида компаний: те, кто в Интернет и те, кто вышел из бизнеса.."
(Билл Гейтс) |
05.04.2010, 11:17 | #6 |
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
а так
PHP код:
Стрелок-охотник
|
05.04.2010, 12:45 | #7 |
Пользователь
Регистрация: 03.03.2010
Сообщений: 10
|
Ну так скорее всего работать должно, но не хотелось бы каждый раз использовать iconv(). Немного позже попробую, отпишусь=)
"В будущем на рынке останется два вида компаний: те, кто в Интернет и те, кто вышел из бизнеса.."
(Билл Гейтс) |
03.09.2010, 09:13 | #8 |
Регистрация: 26.02.2008
Сообщений: 7
|
PHP код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ansi в UTF-8 и наоборот UTF-8 в Ansi | Alar | Работа с сетью в Delphi | 3 | 09.12.2010 17:02 |
UTF-8 | alex171069 | Общие вопросы C/C++ | 1 | 18.05.2009 11:57 |
Использование функции ord.(paskal) | netcher | Помощь студентам | 5 | 01.03.2009 21:30 |
кодировка UTF-8 | nimf | Общие вопросы Delphi | 4 | 18.01.2009 19:25 |