Проблемы enconde в YII2

Им сказала сначала моя сцена. Я использую книжный магазин SAP RFC в YII2, где я касаюсь таблицу ERP SAP моей программы PHP.

Проблема состоит, в том, что напечатав переменную, которая содержит акцент, он не печатает их мне правильно, помещает что-то мне как это 'librer#a'. Увидев формат переменной с mb_detect_encoding() он появляется у меня, что - типа Американский стандартный код обмена информацией, не, если он этому помог в чем-то. Уже я пробовал с utf8_encode() и цель.
Какая-то рекомендация?

Пока только у меня есть в разуме делать это из-за стороны ABAP, вещи, которая Ваш я функционировала, но он делается мне ненужным, так как лучшее состояло бы в том, чтобы упорядочивать это из-за стороны PHP.

REPLACE ALL OCCURRENCES OF REGEX:
'[á]' IN wa_header-justif WITH 'á',
'[é]' IN wa_header-justif WITH 'é',
'[í]' IN wa_header-justif WITH 'í',
'[ó]' IN wa_header-justif WITH 'ó',
'[ú]' IN wa_header-justif WITH 'ú'.

Спасибо заранее!

2
задан 08.04.2016, 18:55
2 ответа

Американский стандартный код обмена информацией - подмножество UTF-8, так что, если документ Американским стандартным кодом обмена информацией, он действительно UTF-8. После того, как - Американский стандартный код обмена информацией подмножество значит, что он не выносит все символы, что exiten, между ними tíldes и она ñ. Когда он анализирует переменную, функция возвращает Американский стандартный код обмена информацией, так как слово, как "librer#a" находят все Ваши символы в этой таблице.

Другой случай, который нужно считать здесь,, - с которым 'collation' он был определен в структуре исходной базы данных. Как я понимаю SAP, используй как механизм базы данных SQL Server и Ваш назначенный по умолчанию collection - Latin1_General. Решение, которое нужно пробовать, - в файле php, где делается печать, в начало он помещает следующее заявление

header("Content-Type: text/html; charset=utf-8");

Когда пойдет заставлять печать переменной использовать следующую функцию:

print iconv("CP1252", "UTF-8", $nombre_de_variable);
2
ответ дан 24.11.2019, 14:37
  • 1
    Большое спасибо из-за твоего комментария, но останься, не функционируя: ( – Annon 08.04.2016, 18:28

htmlentities ( string $string В [, В int $flags [, В string $encoding [, bool $double_encode В ]]])

Конвертирует все символы, применимые к организациям HTML

Организации HTML - те, которые describГ-s в вопросе: á É, ñ, и т.д.

$resultado = htmlentities( $texto, ENT_SUBSTITUTE );
1
ответ дан 24.11.2019, 14:37