четверг, 29 мая 2008 г.

Исправить кодировку в Joomla

Бывает что эта проблема связана с серверами у которых соединение с базой данны на 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();

было:
$this->_table_prefix = $table_prefix;
//@mysql_query("SET NAMES 'utf8'", $this->_resource);
$this->_ticker = 0;
$this->_log = array();

source

Комментариев нет: