Меню Содержимое
Home page arrow Articles arrow После установки знаки вопросов вместо букв

Login





Lost Password?
No account yet? Register
Rambler's Top100
Rambler's Top100

Joomla SEO optimization, components, modules, hacks

После установки знаки вопросов вместо букв

Written by Alex Brunov   
Понедельник, 14 Январь 2008

Обычно по умолчанию на русских серверах стоит кодировка 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();
Last Updated ( Суббота, 02 Февраль 2008 )
 
Реклама сайтов: недвижимость за рубежом