Конвертируем строку с названием товара из UTF-8 в Windows-1251 и сохраняем её в файл для корректного импорта в устаревшую внешнюю систему, не поддерживающую UTF-8.
| Код |
|---|
<?php
// Преобразуем название товара из UTF-8 в Windows-1251 для совместимости с устаревшей CRM-системой
$productNameUtf8 = "Смартфон с увеличенным экраном и NFC";
$productNameWin1251 = utf8win1251($productNameUtf8);
// Сохраняем в файл, который будет импортирован в старую CRM
file_put_contents($_SERVER['DOCUMENT_ROOT'] . '/upload/export_product.txt', $productNameWin1251);
echo "Данные сохранены в кодировке Windows-1251"; |
Функция utf8win1251() больше не гарантируется как доступная (помечена как @deprecated) в новых версиях Битрикс. Вместо неё всегда используйте Bitrix\Main\Text\Encoding::convertEncoding() — это правильный, современный и надёжный способ.
| Код |
|---|
<?php
// Подключаем ядро Битрикс
require_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php');
use Bitrix\Main\Text\Encoding;
// Преобразуем название товара из UTF-8 в Windows-1251 для совместимости с устаревшей CRM-системой
$productNameUtf8 = "Смартфон с увеличенным экраном и NFC";
$productNameWin1251 = Encoding::convertEncoding($productNameUtf8, 'UTF-8', 'Windows-1251');
// Сохраняем в файл, который будет импортирован в старую CRM
file_put_contents($_SERVER['DOCUMENT_ROOT'] . '/upload/export_product.txt', $productNameWin1251);
echo "Данные сохранены в кодировке Windows-1251";
require_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/epilog_after.php');
?> |