Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> AJAX, IE, PHP, MySQL - проблема с кодировкой 
:(
    Опции темы
noff
  Дата 1.8.2006, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 16.9.2005

Репутация: нет
Всего: нет



Имеем:

1. Файл index.html. В нем есть функция, делающая http-запрос на сервер. Страница в кодировке utf-8:
Код

<head>
    <META http-equiv="Content-Type" content="text/html; charset=utf-8">
    <link rel="STYLESHEET" type="text/css" href="/style.css">
    <script src="/function.js" type="text/javascript"></script>
</head>

Запрос, как я понимаю, делается тоже в кодировке UTF-8.

2. Есть сервер. Линус. Апач.

3. На сервере есть файл do.php. Тоже переконвертирован в utf-8. И есть там пятой строкой такая:
Код
header("Content-type: text/html; charset=utf-8");


4. Там же на сервере есть файл .htaccess со строкой:
Код
AddDefaultCharset UTF-8

Это, чтобы на сервере апач не конвертил все в Windows-1251.

5. Есть база данных MySQL. В которой указана кодировка utf-8, В ней есть табличка user, в которой указана точно такая же кодировка utf-8.

Теперь что делаем.

Делаем регистрацию пользователя.

1. В файле HTML есть форма для регистрации, в которой есть поля Имя, Мыло, Пароль. При нажатии на кнопку делается HTTP-запрос на сервер к файлу do.php. Передается все с помощью GET (в коде javascript):
Код
http_request.open('GET', service_url, true);

service_url - это ссылка на скрипт do.php с параметрами в командной строке, т.е. типа:
Код
do.php?mode=register&login=Михалыч&password=parol&[email protected]


2. Файл do.php получает данные из командной строки и добавляет их в базу данных MySQL в табличку user.

Теперь проблема:
При работе в FireFox все происходит нормально. Делаем запрос, информация добавляется в базу данных и при вводе в качестве логина "Михалыч"(русскими буквами), в базе данных написано "Михалыч". Если же это делать в IE, то все тоже происходит нормально, но в базе данных вместо "Михалыч" написана всякая фигня.

Что с этим можно сделать?

Это сообщение отредактировал(а) noff - 1.8.2006, 10:42
PM MAIL   Вверх
Sardar
Дата 1.8.2006, 12:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(noff @  1.8.2006,  09:42 Найти цитируемый пост)
написана всякая фигня.

Что есть "фигня"? UTF-8 в ASCII режиме открывал? оно также выглядит?

Попробуй перед отправкой логина самому в ручную encodeURIComponent("логин"), оно на сервер придёт точно как UTF-8, где каждый байт закодирован как %HH (urlencoded)


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0517 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.