Учитывая десятичное или шестнадцатеричное число Unicode для символа, который должен выводиться из сценария PHP CLI, как PHP может его сгенерировать? Функция chr ()
, похоже, не генерирует правильный вывод. Вот мой тестовый сценарий, используя символ разрыва раздела U + 00A7 (A7 в шестнадцатеричном формате, 167 в десятичном, должен быть представлен как C2 A7 в UTF-8) в качестве теста:
<?php
echo "Section sign: ".chr(167)."\n"; // Using CHR function
echo "Section sign: ".chr(0xA7)."\n";
echo "Section sign: ".pack("c", 0xA7)."\n"; // Using pack function?
echo "Section sign: §\n"; // Copy and paste of the symbol into source code
Вывод, который я получаю (через сеанс SSH на сервер):
Section sign: ?
Section sign: ?
Section sign: ?
Section sign: §
Итак, это доказывает, что в используемом мной терминальном шрифте есть символ разрыва раздела, и SSH-соединение успешно отправляет его, но chr ()
не создает его должным образом, когда построив его из кодового номера.
Если все, что у меня есть, это кодовый номер, а не вариант копирования / вставки, какие варианты у меня есть?