Категории через API. Кодировка.

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Евгений Смирнов
  • Группа: Заблокирован
  • Сообщений: 81
  • Регистрация: 03.03.2011

14.04.2011 11:06

Имею такой скрипт:

$proxy = new SoapClient(***);
$sessionId = $proxy->login(***,***);
$proxy->call($sessionId,'catalog_category.update',array(271,array(
'name'=> utf8_encode('Küünlavalmistamine'),
	'is_active' => 1,
	'include_in_menu' => 1,	
	'available_sort_by' => 'price',
	'default_sort_by' => 'price'
)));


Спец. символы - из эстонского(äõüö), в перспективе вообще любой язык.

Дело в том что на месте 'Küünlavalmistamine' может быть выражение вроде $some_string - строка приходящая из базы с кодировкой cp1251.
Вместо спец символов в магенто имею знаки вопроса.
что пробовал:
найденные функции:
echo cp1251_to_utf8($str);
echo utf8_to_cp1251($str);
echo Utf8Win($str);
стандартные
echo iconv("Windows-1251", "UTF-8", $arr[0]);
echo mb_convert_encoding($arr[0], 'ISO-8859-1', 'UTF-8');

Все функции выводят что-то непонятное. Я подозреваю что неправильные кодировки выбираю, но не знаю какую точно выбрать, чтобы строка отправилась нормально.

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

14.04.2011 13:31

Правильно ли Magento обрабатывает запрос в вашем случае, если вы передаёте в запросе строку в формате UTF-8?

#3 Евгений Смирнов
  • Группа: Заблокирован
  • Сообщений: 81
  • Регистрация: 03.03.2011

14.04.2011 15:01

Цитата

при подключении к БД не исполняется "SET NAMES utf8"

Посылаю это первым запросом к локальной базе и все ок.

И тогда параметром name посылаю то, что получил из локальной базы сразу, без обработки. Все ок.

Поделиться темой: