информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Страшный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft обещает радикально усилить... 
 Ядро Linux избавляется от российских... 
 20 лет Ubuntu 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / web building
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Переменный размер символом в байтах очень неудобен при... 06.12.12 14:18  Число просмотров: 3931
Автор: leo <Леонид Юрьев> Статус: Elderman
Отредактировано 06.12.12 14:19  Количество правок: 1
<"чистая" ссылка>
Переменный размер UTF-8 символов в байтах очень неудобен при реализации регулярок. Поэтому непосредственно в UTF-8 толком никакие регулярки не работают.

Стандартное решение = перед поиском регулярок все переводиться в UTF16/unicode. Проблемы с суррогатными парами при это все равно остаются, но решаются перекодированием в UTF-32.

Ну и в целом - http://site.icu-project.org/
<web building>
[upd] Проблема с регэкспами и utf-8 03.12.12 21:17  
Автор: Fighter <Vladimir> Статус: Elderman
Отредактировано 03.12.12 22:49  Количество правок: 2
<"чистая" ссылка>
Проблема в следующем: нужно было перевести сайт с ср1251 на utf. Были проделаны стандартные в таких случаях действия и при тестировании на локальной копии сайта все было хорошо, но после переноса на сервер... Регулярные выражения типа preg_match('#^[a-z0-9-]?$#i', $fas) или preg_replace('/[а-яА-Я]?$/i', $vfd) перестали работать. Причем проблема связана именно с использованием '[...]', а модификатор 'u' вообще вырубает выполнение с предупреждением "Compilation failed: this version of PCRE is not compiled with PCRE_UTF8 support at offset..." Как с этим бороться? Установить модули, скомпиленные с поддержкой utf? Или есть другие пути?

[upd]
Установка "правильных" модулей исправило ситуацию с латиницей, но с кириллицей проблемы остались(
Переменный размер символом в байтах очень неудобен при... 06.12.12 14:18  
Автор: leo <Леонид Юрьев> Статус: Elderman
Отредактировано 06.12.12 14:19  Количество правок: 1
<"чистая" ссылка>
Переменный размер UTF-8 символов в байтах очень неудобен при реализации регулярок. Поэтому непосредственно в UTF-8 толком никакие регулярки не работают.

Стандартное решение = перед поиском регулярок все переводиться в UTF16/unicode. Проблемы с суррогатными парами при это все равно остаются, но решаются перекодированием в UTF-32.

Ну и в целом - http://site.icu-project.org/
Спасибо, понял. Ушел читать) 06.12.12 15:39  
Автор: Fighter <Vladimir> Статус: Elderman
<"чистая" ссылка>
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach