Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Проблема с русским языком


Рекомендуемые сообщения

Доброго всем времени суток! Ситуация такая:

Решил я поставить портал. Выбрал для этого двиг DataLife Engine v5.2. Залил, проинсталировал. Открываю главную страницу сайта - а на ней вместо русских букв вопросы (?). И незнаю как это дело исправить. Пробовал менять шаблон, пробовал менять кодировку - непомогает.

Кто знает что это может быть?

Адрес qdq5.info - посмотрите что такое.

Ссылка на комментарий
Поделиться на другие сайты

Скорее всего в БД.

Т.к. все слова, что в коде, те отображаются нормально.

Через PhpMyAdmin погляди кодировка какая. Должно быть cp 1251 general ci

Ссылка на комментарий
Поделиться на другие сайты

MySQL-кодировка: UTF-8 Unicode (utf8)

Сопоставление соединения с MySQL: cp 1251 general ci

Только там странно как-то - сопоставление менять можно, а саму кодировку нельзя. Полазил - нашел только описание кодировок, а как поменять так и не нашел :g:

Ссылка на комментарий
Поделиться на другие сайты

ShproT: На сколько я знаю MySQL-кодировка задается при компиляции и изменить ее нельзя, только перекомпилировать MySQL

А вот кодовую страницу соеденения можно назначить уникальную для каждой базы и/или каждой таблицы и/или каждой записи (при их объявлении, то есть в инструкции CREATE)

Возможно ранее стояла другая кодировка, если такая вероятность есть, то поможет переустановка движка.

Еще проблема может быть если вы делали востановление базы из .sql файла. В нашем случае этот фаил должен быть сохранен в кодировке Windows-1251 (ANSI) и если в нем прописывается кодировка, то везде должна стоять cp1251

Ссылка на комментарий
Поделиться на другие сайты

MySQL 4.1 или новее, я вижу. Известные грабли — в интернете куча про это уже было писано :-)

У всех таблиц должна стоять кодировка сравнения cp1251.

Сразу после соединения с базой нужно выполнить на неё запрос вида:

SET NAMES 'cp1251';

Т.е. ищем код работы с БД, там строчки mysql_connect и вставляем где-нибудь пониже что-то вроде:

mysql_query("SET NAMES 'cp1251';");
Ссылка на комментарий
Поделиться на другие сайты

Лорд Дмитрий

Двиг на этот домен уже пытаюсь поставить второй раз, и все время та же беда. БД создавалась новая.

Siberex

Версия действительно 4.1.10.

У всех 20и таблиц стоит кодировка cp1251_general_ci.

После открытия phpMyAdmin открываю окно запроса и ввожу

SET NAMES 'cp1251';

Пишет что "Ваш SQL-запрос был успешно выполнен (Запрос занял 0.0002 сек)". А на сайте буквы всеравно вопросами.

ЗЫ: а где взять код работы с БД? (чета не нахеш нигде)

Ссылка на комментарий
Поделиться на другие сайты

Может я что-то упустил, но кодировку надо выставлять еще когда заливаешь базу. В самом начале. По крайней мере, на своем сайте я так избавился от вопросиков.

Ссылка на комментарий
Поделиться на другие сайты

Может я что-то упустил, но кодировку надо выставлять еще когда заливаешь базу. В самом начале. По крайней мере, на своем сайте я так избавился от вопросиков.

Тоесть надо просто удалить старую БД и создать заново?

Ссылка на комментарий
Поделиться на другие сайты

Все, проблема решена. В файле движка mysql.php после строчки

if(!$this->db_id) $this->connect(DBUSER, DBPASS, DBNAME, DBHOST);

Добавил

mysql_query("SET NAMES cp1251");

И все стало на свои места : )

Рас проблема решена топик Клозед! Всем спасибо! : )

Ссылка на комментарий
Поделиться на другие сайты

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...