Главная Движки Joomla


"Крокозяблы" вместо букв

Печать E-mail
Автор Игорь Локтев   
07.03.2009 г.

Рейтинг 2.0/5 (7 голосов)

Если после установки Joomla на сервер или переноса базы данных Вы видите одни знаки вопросов место букв - эта статья для вас. Как что же произошло? Обычно по умолчанию на русских серверах стоит кодировка cp1251 и на большинстве latin1_swedish_ci, которая присваивается по умолчанию созданной базе в панели администратора хостингом. Сейчас становится больше серверов, где база создается в Юникоде – UTF8 кодировке. Из-за этого проблемы при установке Русскоязычной Joomla, и данного пакета на ее основе русские буквы просто пропадают и в базе данных вместо них остаются только значки вопросов - ??????? ????? ??????????

Все на самом деле просто – зайдите в свою панель администрирования хостингом вашим.

  1. Вам нужно открыть PhpMyAdmin – инструмент работы с базой данных, который есть везде практически на любом хостинге.
  2. Выберете слева в меню базу - в которую устанавливаете Joomla,
  3. Затем вверху увидите в панели - «Операции» - жмите на кнопку эту.
  4. Далее -  «Сравнение». Выбираете сравнение - cp1251 (это русская кодировка windows-1251) или latin1_swedish_ci (тоже работает нормально с русскими буквами)
  5. Сохраняете рядом кнопкой.
  6. Уничтожте потом все таблицы из этой базы данных которые созданы некорректно при инсталляции.
  7. Просто затем переинсталлировать Joomla.
Обычно это помогает..  заодно пригодится вам в дальнейшем, так как довольно много русских скриптов еще не работает на UTF кодировке в базе данных.
 
Бывает что эта проблема связана с серверами у которых соединение с базой данны на UTF кодировке. Например вы видите что вся база в cp1251 и можно в базе прочитать текст  - русские ссылки например в таблице меню, то есть с базой все ок, а на сайте все равно все тексты в виде знаков вопросов. Тут есть неплохое решение:
 
Подправить файл /includes/database.php примерно на 100 строке, так что бы там было следующее

$this->_table_prefix = $table_prefix;

@mysql_query("SET NAMES 'cp1251'", $this->_resource);
@mysql_query( "set session character_set_server=cp1251", $this->_resource );
@mysql_query( "set session character_set_database=cp1251", $this->_resource );
@mysql_query( "set session character_set_connection=cp1251", $this->_resource );
@mysql_query( "set session character_set_results=cp1251", $this->_resource );
@mysql_query( "set session character_set_client=cp1251", $this->_resource );

$this->_ticker = 0;
$this->_log = array();
 

 

Похожие темы

 

Комментарии  

 
#1 Саша 2010-02-25 12:55 всё правильно, а если кодировка меняеться не везде, а только, например при добавлении счётчика на сайт, название счётчика отображается крокозяблами? Цитировать
 

Добавить комментарий

Вы можете добавлять комментарии, относящиеся к данной теме. Регистрироваться при этом необязательно.


Защитный код
Обновить


Rambler's Top100