[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Некорректно отображается текст из базы
Arcoslov
Здравствуйте.

Помогите, пожалуйста, решить проблему с сайтом. Переношу сайт с хостинга на хостинг. База mysql.
В phpmyadmin вижу:
Server connection collation: utf8_general_ci
Collation базы: utf8_general_ci,; collation всех таблиц utf8_general_ci

Файл базы (.sql) у меня на компе - в формате utf8. Русский текст читабелен. Импортировал как utf8. Вся текущая инфа, которая достаётся из базы, выглядит по-русски.

Однако, вся новая инфа, которая через сайт добавляется в базу, в базе выглядит как г Москва, и в последствии на сайте она выглядит так же.

На данный момент у меня на сайте такая конструкция:

$connection=new mysqli(host, user, pass, db);
if (!$connection->set_charset("utf8")) {
printf("Ошибка при загрузке набора символов utf8: %s\n", $connection->error);
} else {
printf("Текущий набор символов: %s\n", $connection->character_set_name());
}
она мне говорит, что "Текущий набор символов: utf8".

В коде сайт ничего не конвертит вроде бы.
От чего ж оно? )

p.s. сам сайт полностью в utf8, в htaccess прописано AddDefaultCharset utf-8, контент страниц сайта, что не из базы, отображается нормально.

p.p.s. декодер лебедева говорит, что это cp1252
:o
Arcoslov
я выяснил, что база не при чём (перед строчкой записи в базу вывел echo данные).
корявые кодировки уже туда поступают. хотя конвертации в 1252 точно нет.
варианты?
Arcoslov
появилась дополнительная информация.

База уже получает данные в корявом виде.

Как работает код:
первом файле php есть форма.
Во втором - код для обращения и инсерта данных в базу.
Когда в первом файле нажимается кнопка сохранить, она через js методом post передаёт данные во второй файл, чтобы там произошла запись в базу. Если в этом второмфайле сделать print_r($_REQUEST) в самой первой строчке, то видно, что данные уже приходят корявые. Однако, в первом файле alert непосредственно перед отправкой данных эти самые данные выводит нормально.

Почему при передаче данных они корёжатся?
и, кстати, полученные во втором файле данные почему-то нельзяс iconv сконвертить в utf8 обратно, получаются неопознанные закорючки.

Valick
все файлы должны быть utf-8 без bom, в том числе и файл с формой и js файлы

_____________
Стимулятор ~yoomoney - 41001303250491
Гость_Arcoslov
проверил. без bom.
Arcoslov
Javascript выдаёт следующее:
alert(document.inputEncoding); //utf8
alert(document.characterSet ); //utf8
alert(document.charset); //utf8
alert(document.defaultCharset); //windows-1252

Почему?
Быстрый ответ:

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