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


Проблема с кодировкой


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

#1 KingDoc

    Новичок

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

Отправлено 12 January 2015 - 03:35 PM

БД создавал с кодировкой cp1251 (и сейчас все таблицы с данной кодировкой). Записи с БД самой отображаются на русском корректно, но при редактировании с админки на русском (на англ. все нормально - проблем никаких нет) удаляет их с бд. При добавлении на прямую через БД нормально выводит. Решение не могу найти, с таким столкнулся только с ShopCMS. Кто сталкивался и может подсказать причину(решение) такой проблемы?
  • 0

#2 kery

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

  • Assistent vsupport.club
  • PipPipPip
  • 134 сообщений
Репутация: 17
Начинающий

Отправлено 12 January 2015 - 06:49 PM

версия php какая стоит на сервере если php 5.4 то проблема в
функциях htmlspecialchars надо в эти функции по всему сайту добавить третий параметр cp1251, но в итоге у меня при добавлении этого параметра переставала работать пагинация поэтому я откатил сервер обратно на php 5.3
return htmlspecialchars($_data, ENT_QUOTES);
на
return htmlspecialchars($_Data, ENT_QUOTES,  'cp1251');

вот еще ссылка с другой темы http://vsupport.club...1474#entry31474
  • 0

#3 badisoft

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

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

Отправлено 12 January 2015 - 08:53 PM

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

Это практически на все сто проблема версии PHP, т.е. она у Вас 5.4 или выше.
Суть проблемы в том, что в 5.4 относительно более ранних версий сменилась дефолтовая кодировка в некоторых функциях, в том числе и в часто используемой shopCMS функции htmlspecialchars(). Теперь если в нее засунуть строку в кодировке windows1251 (написанную русскими буквами), то она пребразуется в пустую строку, что и происходит при сохранении товара в админке. Написанная английскими, кстати, нормально сохранится, так что попробуйте сохранить товар с названием на английском. Если сохранится, то это оно.

Решение описано выше. Замен таких в ShopCMS с десяток будет (недавно переводил один сайт на 5.4)
Но все равно лучше откатиться на 5.3 (лучше даже на 5.2), т.к. под 5.4 не работает библиотека изменения размера картинок (используется при загрузке картинок товара, если настроено менять размер). Наверняка, есть решение и этой проблемы, но лично я пока не смог разобраться, как ее решить кроме полной замены класса asido на другой (в jquery есть встроенный), выполняющий ту же задачу.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#4 KingDoc

    Новичок

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

Отправлено 13 January 2015 - 11:12 AM

Да, 5.4 версия была и с англ. не было проблем (в первом посте написал). Сменил на 5.3 - все работает с русским. Спасибо за помощь :)
  • 0