Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблема с русскими символами
 
 автор: Роккер Руслан   (14.02.2012 в 21:05)   письмо автору
 
 

Добрый день) Проблема:
регулярное выражение
$result = preg_match("/[а-я0-9]{3,20}/iu",$value);

выдаёт ошибку:
Warning: preg_match() [function.preg-match]: Compilation failed: invalid UTF-8 string at offset 2 in Z:\home\servise.loc\www\registrationProcess.php on line 13
И при $value = 'руслан' выдаёт ложь, то есть не пропускает русские символы

  Ответить  
 
 автор: cheops   (14.02.2012 в 21:26)   письмо автору
 
   для: Роккер Руслан   (14.02.2012 в 21:05)
 

У вас скрипт и данные в UTF-8?

  Ответить  
 
 автор: Роккер Руслан   (14.02.2012 в 21:43)   письмо автору
 
   для: cheops   (14.02.2012 в 21:26)
 

да

  Ответить  
 
 автор: Роккер Руслан   (14.02.2012 в 21:54)   письмо автору
 
   для: Роккер Руслан   (14.02.2012 в 21:43)
 

Проблему решил, но в бау пападают РђРЅСЏ - вот такие символы, кодировка в дазе юникод(utf8_unicode_ci)

  Ответить  
 
 автор: ladan   (14.02.2012 в 21:55)   письмо автору
 
   для: Роккер Руслан   (14.02.2012 в 21:05)
 

!

  Ответить  
 
 автор: Роккер Руслан   (14.02.2012 в 22:38)   письмо автору
 
   для: Роккер Руслан   (14.02.2012 в 21:05)
 

Обьясните пожалуйста процесс взаимодействия php с mysql, или подскажите литературу в которой можно про это почитать(Обычно во всех книжках ограничиваются описанием функций для работы с базой), а меня интересует сам процесс, интересно почему например, если база в utf8, страница в utf8, а все равно надо явно указывать в какой кодировке "хочу принимать данные" и в "какой отправляю":
mysql_query('set character_set_client="utf8"');
mysql_query('set character_set_results="utf8"');

  Ответить  
 
 автор: cheops   (15.02.2012 в 10:58)   письмо автору
 
   для: Роккер Руслан   (14.02.2012 в 22:38)
 

Потому, что в процессе передачи информации от сервера к клиенту тоже может происходить перекодировка данных. Т.е. сайт позволяет отображать информацию в UTF-8, а база данных может её хранить в cp1251. Одна база данных может и обслуживает множество клиентов с разными кодировками. Поэтому вам следует указывать не только кодировку базы данных, но и кодировку соединения, в какой кодировке вы передаете данные СУБД.

PS Под новые вопросы лучше заводить новые темы.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования