0
- 23.04.2013 - 10:27
|
день добрый, вопрос не однократно обсуждался на множестве форумов про кодировки и у всех уже вызывает пену у рта когда кто-то создает такую тему вновь, но я все же рискну, так как сижу над бедой уже вторую неделю и до того как решиться создать тему, облазил не один форум чем я пользуюсь: IIS 6.0, php 5, sql 5.1 (управляю с помощью dbforge) ВЕЗДЕ стоит кодировка utf-8: базы sql в utf-8 лайкчаром даже выводил информацию КОД: character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results utf8 character_set_server latin1 character_set_system utf8 character_sets_dir C:\Program Files\MySQL\MySQL Server 5.1\share\charsets\ в iis прописал в заголовках HTTP Content-type text/html; charset=utf-8 в самом сайте кодировку utf-8, да и сам сайт сохранил в кодировке utf -8 КОД: mysql_query ("SET CHARACTER SET 'utf8'"); mysql_query ("set character_set_client='utf8'"); mysql_query ("set character_set_results='utf8'"); mysql_query ("set character_set_database='utf8'"); mysql_query ("set collation_connection='utf8_general_ci'"); mysql_query ("SET NAMES utf8"); но проблема остается: должен производиться поиск по бд, если идет поиск по ангийским символам, то все на ура, иногда на ура и поиск по кириллице, НО зачастую происходит замена символов и почему так мне не понятно ПРИМЕР: Я ищу Иванова в базе данных, но мне отображается что поиск по базе производится по слову Иваннв и соответственно ничего не находит Сидоров заменяется на СШХнрнв а вот например Бацаев абсолютно нормально воспринимается и выдает информацию какая есть в базе по данному человеку Вроде все подробно описал, надеюсь поможете разобраться в этом нелегком для меня деле =) зы: прошу не надо писать: поставь вместо форджа пхпмайадмин, вместо ииса апач и тому подобное, такой возможности просто нет, работаю с чем есть. | |
1
- 23.04.2013 - 13:51
|
Сам запрос к базе данных смотрели? Может в php меняется текст поиска? В php нужно локаль указывать - utf8 setlocale(LC_ALL,"utf-8"); mb_internal_encoding('UTF-8'); плюс в регулярных выражениях, если они используются, нужно использовать модификатор u. | |
| Интернет-форум Краснодарского края и Краснодара |