|
|
|
| Добрый день) Проблема:
регулярное выражение
$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 = 'руслан' выдаёт ложь, то есть не пропускает русские символы | |
|
|
|
|
|
|
|
для: Роккер Руслан
(14.02.2012 в 21:05)
| | У вас скрипт и данные в UTF-8? | |
|
|
|
|
|
|
|
для: cheops
(14.02.2012 в 21:26)
| | да | |
|
|
|
|
|
|
|
для: Роккер Руслан
(14.02.2012 в 21:43)
| | Проблему решил, но в бау пападают РђРЅСЏ - вот такие символы, кодировка в дазе юникод(utf8_unicode_ci) | |
|
|
|
|
|
|
|
для: Роккер Руслан
(14.02.2012 в 21:05)
| | ! | |
|
|
|
|
|
|
|
для: Роккер Руслан
(14.02.2012 в 21:05)
| | Обьясните пожалуйста процесс взаимодействия php с mysql, или подскажите литературу в которой можно про это почитать(Обычно во всех книжках ограничиваются описанием функций для работы с базой), а меня интересует сам процесс, интересно почему например, если база в utf8, страница в utf8, а все равно надо явно указывать в какой кодировке "хочу принимать данные" и в "какой отправляю":
mysql_query('set character_set_client="utf8"');
mysql_query('set character_set_results="utf8"');
|
| |
|
|
|
|
|
|
|
для: Роккер Руслан
(14.02.2012 в 22:38)
| | Потому, что в процессе передачи информации от сервера к клиенту тоже может происходить перекодировка данных. Т.е. сайт позволяет отображать информацию в UTF-8, а база данных может её хранить в cp1251. Одна база данных может и обслуживает множество клиентов с разными кодировками. Поэтому вам следует указывать не только кодировку базы данных, но и кодировку соединения, в какой кодировке вы передаете данные СУБД.
PS Под новые вопросы лучше заводить новые темы. | |
|
|
|