Перейти к содержимому


Пропали русские буквы, но не везде


  • Вы не можете ответить в тему
Сообщений в теме: 22

#1 fauran

    Пользователь

  • Пользователи
  • PipPip
  • 25 сообщений
Репутация: 0
Начинающий

Отправлено 01 September 2011 - 11:06 PM

После установки на новый хостинг пропали русские буквы в админке (в некоторых ее разделах)...
Прилагаю скриншот.
очно так же букв не видать при создании новых разделов каталога и отдельных товаров.
Ошибок при этом не возникает... перезалил и проверил языковой файл, вроде все в порядке с ним, а буков все равно нетути.

В исходном коде на месте, где должны быть буквы, просто пустое место, точнее вобще даже пустого места нет: открывающий тег и сразу закрывающий. На местеанглийского текста наоборот - все чин чинарем.

В техподдержку написал письмо еще прошлой ночью, тишина пока.
Может было у кого такое?
Хоть подскажите куда копать, а то чайники мы, хоть и продвинутые (типа термопот)...

Заранее признателен.
Изображение
  • 0

#2 Dbus

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 1116 сообщений
Репутация: 174
Мастер
  • ГородОдесса

Отправлено 01 September 2011 - 11:12 PM

неправильно перенесена база данных, трабл с кодировкой.
  • 0
502 Bad Gateway

#3 fauran

    Пользователь

  • Пользователи
  • PipPip
  • 25 сообщений
Репутация: 0
Начинающий

Отправлено 01 September 2011 - 11:17 PM

база полностью нулевая
кодировка задана все стандартно, тупо начальный движок установка с нуля
  • 0

#4 Dbus

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 1116 сообщений
Репутация: 174
Мастер
  • ГородОдесса

Отправлено 01 September 2011 - 11:21 PM

"стандартно" - это как ?
  • 0
502 Bad Gateway

#5 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 01 September 2011 - 11:25 PM

у данного скрипта частенько приколы с кодировками на различных хостингах.
По админке понятно, а пользовательская часть нормально отображается?
  • 0

#6 fauran

    Пользователь

  • Пользователи
  • PipPip
  • 25 сообщений
Репутация: 0
Начинающий

Отправлено 01 September 2011 - 11:31 PM

ну то-есть все стоит по умолчанию как было из "коробки"

---------- Сообщение объединено ----------

у данного скрипта частенько приколы с кодировками на различных хостингах.
По админке понятно, а пользовательская часть нормально отображается?


так же частично

---------- Сообщение объединено ----------

да кстати вот хостинг TIMEWEB - Всегда больше, чем просто хостинг.
  • 0

#7 Dbus

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 1116 сообщений
Репутация: 174
Мастер
  • ГородОдесса

Отправлено 01 September 2011 - 11:38 PM

по умолчанию катит не всегда, есть нюансы.
для начала спросите у хостера про поддержку cp1251 (на всякий случай)
и потом можно раскомментировать строки в core\includes\database\mysql.php, возможно, потребуется переустановка. и тогда лучше сразу создавать базу в 1251
  • 0
502 Bad Gateway

#8 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 01 September 2011 - 11:39 PM

Да толку от хостинга.... попробуйте в файле mysql.php в инсталле
после

        $r = mysql_connect($host,$user,$pass);
$version = mysql_get_server_info($r);
if(preg_match('/^5\./',$version) || preg_match('/^4\.[1-9]/',$version)){
if(preg_match('/^5\./',$version)) mysql_query('set session sql_mode=0');


добавьте


mysql_query('set names cp1251');
mysql_query('set character set cp1251');
mysql_query('set character_set_client=cp1251');
mysql_query('set character_set_results=cp1251');
mysql_query('set character_set_connection=cp1251');
mysql_query('set character_set_database=cp1251');
mysql_query('set character_set_server=cp1251');



и переустановите магазин
  • 0

#9 fauran

    Пользователь

  • Пользователи
  • PipPip
  • 25 сообщений
Репутация: 0
Начинающий

Отправлено 01 September 2011 - 11:44 PM

огромное спасибо, все получилось:)
  • 0

#10 DooDLeez

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 171 сообщений
Репутация: -1
Начинающий

Отправлено 28 February 2012 - 01:00 PM

Всем привет, столкнулся с такой же проблемой, только в папке с инсталлом нету такого файла, подскажите что делать ??
Спасибо
  • 0

#11 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 28 February 2012 - 01:06 PM

файл не в папке с инсталлом
файл в папке \core\includes\database\
  • 0

#12 DooDLeez

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 171 сообщений
Репутация: -1
Начинающий

Отправлено 28 February 2012 - 01:12 PM

вот у меня сейчас установлен этот сайт и не видны тоже русские буквы, сейчас надо исправить тот фаил, затем ещё раз пройти по ссылке сайт/инсталл.пхп ? или удалить все, распокавать заного, исправить фаил, и протий по установочной ссылке?
  • 0

#13 fauran

    Пользователь

  • Пользователи
  • PipPip
  • 25 сообщений
Репутация: 0
Начинающий

Отправлено 28 February 2012 - 01:20 PM

Всем привет, столкнулся с такой же проблемой, только в папке с инсталлом нету такого файла, подскажите что делать ??
Спасибо

core-include-database-mysql
там убери комментарии, чтобы было так
function db_connect($host,$user,$pass) //create connection
{
$r = mysql_connect($host,$user,$pass);
$version = mysql_get_server_info($r);
if(preg_match('/^5\./',$version) || preg_match('/^4\.[1-9]/',$version)){
if(preg_match('/^5\./',$version)) mysql_query('set session sql_mode=0');
mysql_query('set names cp1251');
mysql_query('set character set cp1251');
mysql_query('set character_set_client=cp1251');
mysql_query('set character_set_results=cp1251');
mysql_query('set character_set_connection=cp1251');
mysql_query('set character_set_database=cp1251');
mysql_query('set character_set_server=cp1251');
}
return $r;
}

  • 0

#14 DooDLeez

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 171 сообщений
Репутация: -1
Начинающий

Отправлено 28 February 2012 - 01:23 PM

все что до" function db_connect($host,$user,$pass) //create connection" убрать ? я убрал, но проблема не ушла
или после этого кода тоже все убрать ?
  • 0

#15 fauran

    Пользователь

  • Пользователи
  • PipPip
  • 25 сообщений
Репутация: 0
Начинающий

Отправлено 28 February 2012 - 01:30 PM

$мотри у тебя начало кода выглядит так
function db_connect($host,$user,$pass) //create connection
{
$r = mysql_connect($host,$user,$pass);
$version = mysql_get_server_info($r);
if(preg_match('/^5\./',$version) || preg_match('/^4\.[1-9]/',$version)){
if(preg_match('/^5\./',$version)) mysql_query('set session sql_mode=0');
// mysql_query('set names cp1251');
// mysql_query('set character set cp1251');
// mysql_query('set character_set_client=cp1251');
// mysql_query('set character_set_results=cp1251');
// mysql_query('set character_set_connection=cp1251');
// mysql_query('set character_set_database=cp1251');
// mysql_query('set character_set_server=cp1251');
}
return $r;
}

а надо так
function db_connect($host,$user,$pass) //create connection
{
$r = mysql_connect($host,$user,$pass);
$version = mysql_get_server_info($r);
if(preg_match('/^5\./',$version) || preg_match('/^4\.[1-9]/',$version)){
if(preg_match('/^5\./',$version)) mysql_query('set session sql_mode=0');
mysql_query('set names cp1251');
mysql_query('set character set cp1251');
mysql_query('set character_set_client=cp1251');
mysql_query('set character_set_results=cp1251');
mysql_query('set character_set_connection=cp1251');
mysql_query('set character_set_database=cp1251');
mysql_query('set character_set_server=cp1251');
}
return $r;
}

В$Е о$тальное о$тавляешь на ме$те и не трогаешь, заливаешь на хо$тинг и переу$танавлиавешь движок и должно заработать
  • 0

#16 DooDLeez

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 171 сообщений
Репутация: -1
Начинающий

Отправлено 28 February 2012 - 04:24 PM

$мотри у тебя начало кода выглядит так

function db_connect($host,$user,$pass) //create connection
{
$r = mysql_connect($host,$user,$pass);
$version = mysql_get_server_info($r);
if(preg_match('/^5\./',$version) || preg_match('/^4\.[1-9]/',$version)){
if(preg_match('/^5\./',$version)) mysql_query('set session sql_mode=0');
// mysql_query('set names cp1251');
// mysql_query('set character set cp1251');
// mysql_query('set character_set_client=cp1251');
// mysql_query('set character_set_results=cp1251');
// mysql_query('set character_set_connection=cp1251');
// mysql_query('set character_set_database=cp1251');
// mysql_query('set character_set_server=cp1251');
}
return $r;
}

а надо так
function db_connect($host,$user,$pass) //create connection
{
$r = mysql_connect($host,$user,$pass);
$version = mysql_get_server_info($r);
if(preg_match('/^5\./',$version) || preg_match('/^4\.[1-9]/',$version)){
if(preg_match('/^5\./',$version)) mysql_query('set session sql_mode=0');
mysql_query('set names cp1251');
mysql_query('set character set cp1251');
mysql_query('set character_set_client=cp1251');
mysql_query('set character_set_results=cp1251');
mysql_query('set character_set_connection=cp1251');
mysql_query('set character_set_database=cp1251');
mysql_query('set character_set_server=cp1251');
}
return $r;
}

В$Е о$тальное о$тавляешь на ме$те и не трогаешь, заливаешь на хо$тинг и переу$танавлиавешь движок и должно заработать


разница только в том что нету "//" перед строчкой ?
и какая последовательность?
1. на компе редактирую фаил
2. заменяю его на тот что стоит на хосте
3. захожу на ссылка/install.php? (предварительно не удаля старое содержание)
  • 0

#17 fauran

    Пользователь

  • Пользователи
  • PipPip
  • 25 сообщений
Репутация: 0
Начинающий

Отправлено 28 February 2012 - 05:47 PM

да разница только в коментарии"//" так как не ве$ хо$тинги почему-то корректно во$принемают эту байду. Лично я заменял на локалке, потом удалял в$е нафик $ хо$тинга и заливал заного:) чтобы наверняка:))))
  • 0

#18 R.Sergey

    Администратор

  • Администраторы
  • 2810 сообщений
Репутация: 332
Мастер

Отправлено 28 February 2012 - 05:58 PM

да разница только в коментарии"//" так как не ве$ хо$тинги почему-то корректно во$принемают эту байду. Лично я заменял на локалке, потом удалял в$е нафик $ хо$тинга и заливал заного чтобы наверняка)))


хостинг тут не при чем..... кодировка БД имеет значение. При создании БД нужно проверить кодировку, если она в cp1251 то таблицы создадутся тоже в cp1251 и эти строки попросту не нужны
а если в UTF8 или не дай Боже в latin1 (что означает что хостеры олухи) - то тогда после подключения обязательно нужны те строки для преобразования в виндовую кодировку.

Преобразовать БД можно и после создания, но тогда все таблицы тоже нужно будет преобразовывать и х/з что будет с данными, поэтому проще просто добавить/расскоментировать те строчки

---------- Сообщение объединено ----------

З.Ы. fauran, а у Вас что нет буквы "с" на клавиатуре?
  • 0

#19 fauran

    Пользователь

  • Пользователи
  • PipPip
  • 25 сообщений
Репутация: 0
Начинающий

Отправлено 28 February 2012 - 06:04 PM

у меня девушка $кошкой играла, ну и вылели мне чай на клаву в ноуте:) а как-то в падлу 400-500 гривень платит за замену клавиатуры из-за одной буквы:) вот целое предложение без этой буквы:))))) а так как ноут бизне$ кла$а$, то в нем $разу е кнопка доллара рядом $о $трелками, так проще:)
А по поводу БД, то как я и говорил проще $делать мой вариант и заного у$тановить это дело:)
  • 0

#20 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 08 April 2012 - 02:01 PM

кодировка БД имеет значение. При создании БД нужно проверить кодировку, если она в cp1251 то таблицы создадутся тоже в cp1251 и эти строки попросту не нужны а если в UTF8 или не дай Боже в latin1 (что означает что хостеры олухи) - то тогда после подключения обязательно нужны те строки для преобразования в виндовую кодировку.

ИМХО, эти строки нужны для преобразования между двухбайтовыми и однобайтовыми кодировками, т.е. если база лежит в UTF, что совершенно избыточно для двуязычного интерфейса, т.к. вносит лишнее замедление. Кодировка latin1 вместо cp1251 ни на что не влияет и не требует раскомментирования тех строк, ведь содержимое базы будет просто отдаваться как есть, без преобразования, а "как есть" в cp1251 и latin1 одинаково. Радость от кодировки cp2151 вместо дефолтовой latin1, как я понимаю, будет только в том, что при работе в консоли mysql вместо квадратиков будут нормальные русские буквы.
  • 1
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)