Ввожу ингл. буквы - Гуд, русские - не хочет... Может кто знает в чем тут проблема?... Во всех остальных браузерах все гуд, токо IE бормочит... http://s57.radikal.ru/i156/1009/5a/7302b50446ac.jpg http://s002.radikal.ru/i199/1009/b3/e890db3b4922.jpg вот 54,55,56 строчки... Что не так? PHP: <?php $getName = mysql_query('SELECT * FROM `view` WHERE '.$nice.' ORDER by name ASC LIMIT 50'); while ($row = mysql_fetch_array($getName)) { $adress = $row['adress']; ?> это - то что хранится в $nice : PHP: <?php $nice = 'name LIKE "%'.addslashes($expl[0]).'%" AND name LIKE "%'.addslashes($expl[1]).'%" GROUP by id'; ?> Добавлю, что пробывал на хостинге, где с кодировкой все отлично, тоесть не в ней дело... Все в utf-8... база _general_ci
очевидно, беда с кодировками браузеры по разному определяют кодировку сайта, кому-то достаточно, чтобы в тэгах была указана кодировка, а кто-то тэг игнорит и нужно в header верную кодировку попробуй сделать на странице header('Content-Type: text/html; charset=КОДИРОВКА_БАЗЫ_ДАННЫХ');
у тебя страница с какой кодировкой???? и подключение к БД с какой кодировкой???? кстате такая фигня толко в EI встречается))))
все в utf-8 ... еще в есть такие строчки PHP: <?php mb_internal_encoding("UTF-8"); mb_regex_encoding('UTF-8'); if(mb_strlen($name,'utf-8') > 70) { $name = mb_substr($name, 0, 70) . "..."; } ?>
сразу подключения к базе мускула: mysql_query("SET NAMES 'utf8'"); на странице в хидере: <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> убедись, что данные были импортированы в базу в кодировке utf-8 !!! сделай статичный запрос с русским текстом. т.е. жёстко зашей русские слова в запрос, а не подставляй динамически из запроса пользователя. и посмотри, будет ли результат - сразу увидишь проблему, если она есть.
Вообщем IE передает данные в хз какой колировке... все состоит из utf-8 исключительно все... тоесть IE передал, стразу принимаю и вывожу, русский текст передает вот так - ��� (короч у меня на сайте выглядит не так, а квадратики) Что можно зделать, как перекодировать строку??? utf8_encode utf8_decode не помогли... функцией определения кодировки mb_detect_encoding($str); показует utf-8 но на самом то деле windows-1251... ппц... пробую перекодировать c помощью iconv и. т.д. Както крыво работает... Некоторые буквы не переводит, к примеру а,ц не понимает.... и если перекодировать, то другие браузеры не будут видеть...Подскажите, что можно зделать...
form.html HTML: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <title>TEST FORM USING UTF-8</title> </head> <body> <form action="form.php" method="post"> <input type="text" name="test"> <input type="submit" value="send"> </form> </body> </html> form.php PHP: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <title>TEST FORM RESULT USING UTF-8</title> </head> <body> <pre> <?php print_r($_POST); ?> </pre> </body> </html> проверь, чтобы определение кодировки в браузере стояло автоматически.
все отлично... во всех браузерах передает utf-8... продолжил дальше... добавил .js файл, теперь все браузеры передает в utf-8, а IE в другой кодировке... Как поправить? php файл не трогал... html: HTML: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> <script type='text/javascript' src='search.js'></script> <script type='text/javascript' src='prototype.js'></script> <title>TEST FORM USING UTF-8</title> </head> <body> <form action="form.php" method="get"> <input type="text" id="idSearch"> </form> <div id='idResult'></div> <script>search_init()</script> </body> </html> js: [js]function search_init() { r = $('idResult'); new Form.Element.Observer( 'idSearch', 2, // 200 milliseconds function(el, value){ r.innerHTML = "Идёт поиск.... пожалуйста подождите..."; new Ajax.Request('form.php?name='+value, { method:'get', onSuccess: function(transport){ r.innerHTML = transport.responseText || 'ошибка передачи данных'; }, onFailure: function(){r.innerHTML = 'ошибка передачи данных'; } }); } ) } [/js]
русский текст как бэ это... ну того... в смысле всё... умер? может всё же стоит попробовать использовать специальную фукнцию? 'form.php?name='+encodeURIComponent(value)
Жесть. Писал просто encodeURI - не работало, я уже просто не знал, что зделать... Нужно было .Component добавить... Огромное спасибо, за отзыв! Помогло работает!