[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Про AJAX. Всё понятно... Да всё-таки не всё :)
sergeiss
Коллеги-программеры, вопрос вот какой.

Вот есть AJAX. Всё работает, и пусть бы попробовало не заработать wink.gif

Но непонятно кое-что с кодировками.

Есть БД MS SQL. Кодировка - винда-1251. Не говорите мне ничего про кодировку и эту базу! smile.gif База не моя, а из соседнего отдела. Я только подцепляюсь и данные беру.
Скрипт, где я данные для аяксовского запроса готовлю, ЮТФ-8. Всё отлично, данные из БД перекодирую перед отправкой.

Но итоговый скрипт тоже, как и БД, винда-1251... И вот тут-то мне не понятно!!! Я не делаю более никаких перекодировок, но данные нормально читаются... Что я недопонял?

PS. Тему специально во Флейме разместил, потому что всё равно больше пустого трёпа будет smile.gif

PPS. А насчет той БД MS SQL я еще пока даже не всё высказал тому человеку, который её создавал... Ну как можно давать названия полей то по-английски, то по-русски, а то и вообще смесь русских и английский букв в одном поле! И это всё в одной таблице... Ну как можно так??? Я потратил, наверное, не меньше получаса, чтобы понять, что запрос в БД тоже перекодировать нужно. Иначе русские буквы "кривые" получаются. Да с названиями некоторых полей экспериментировал. Чтоб понять, например, что же написано в названии поля: nn_бтс или пп_бтс wink.gif (кто не понял - в первом случае аглицкие эн-эн, во втором - русские пэ-пэ, а вторая часть по-русски написана). Оказалось - первое.



Спустя 39 минут, 20 секунд (17.11.2010 - 23:35) kirik написал(а):
брр.. это получается ты достаешь из бд строку в 1251, потом конвертируешь в utf8 чтобы аякс её понял, и потом выводишь строку на страничке с 1251? smile.gif Всем костылям костыль smile.gif
Почему работает я не могу тебе сказать (магия smile.gif ), но думаю что наверняка другие браузеры выведут кривую строку.
Воспользуйся JsHttpRequest 5 от Д.Котерова - она нормально работет с 1251, и тебе не нужно будет конвертировать туда-сюда.

Спустя 57 минут, 54 секунды (18.11.2010 - 00:33) sergeiss написал(а):
Цитата (kirik @ 18.11.2010 - 00:35)
но думаю что наверняка другие браузеры выведут кривую строку.

Костыль или не костыль... Но IE 8-й нормально показыват, и Опера 10 с чем-то тоже нормально.

Спустя 1 час, 28 минут, 33 секунды (18.11.2010 - 02:01) kirik написал(а):
Цитата (sergeiss @ 17.11.2010 - 16:33)
Костыль или не костыль... Но IE 8-й нормально показыват, и Опера 10 с чем-то тоже нормально.

Просто повезло что браузеры такие умные smile.gif

Спустя 17 минут, 44 секунды (18.11.2010 - 02:19) inpost написал(а):
IE всегда умный, за это я его и люблю =)

Спустя 5 часов, 13 минут, 6 секунд (18.11.2010 - 07:32) zvezda_t написал(а):
Цитата
Но итоговый скрипт тоже, как и БД, винда-1251... И вот тут-то мне не понятно!!!

значит не тоже :D а какой то промежуточный - а скрипт на вывод в utf-8

у меня тоже такая фигня :)
sergeiss, ты мне лучше скажи пожалуйста,
Цитата
Всё отлично, данные из БД перекодирую перед отправкой.

как ты так перекадируешь?
я вот непосредственно в скрипте, после каждого запроса пишу:
$name=iconv("cp1251","UTF-8", $name);

похоже сильно не правильно это, да? :rolleyes:

Спустя 14 часов, 23 минуты, 35 секунд (18.11.2010 - 21:56) sergeiss написал(а):
zvezda_t - да не знаю... Наверное, так где-то и надо smile.gif Я тоже так делаю wink.gif

А вообще воистину "правильно заданный вопрос - это половина решения" smile.gif Был тут вопросик по аяксу, как-то он "не так" работал в ИЕ6. Пока вопрос формулировал, сам же и разобрался.


_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.