Попытка получить символ евро с помощью chr(128)
Я ожидал этот код:
define('EURO_SIMBOLO', chr(128));
$euro = EURO_SIMBOLO;
var_dump($euro);
показать €
символ, но это не так. Почему это происходит?
5 ответов
Если вы хотите более конкретно использовать Unicode, UTF-8, который я предпочитаю из-за его гибкости, вы можете вывести знак евро, используя:
echo "\xE2\x82\xAc"; // 3 bytes-long multibyte character
Это будет работать только если вы используете кодовую страницу 125x. Дело в том, что символ евро не включен во все расширенные наборы символов ASCII (введен в ИСО / МЭК 8859-15), однако он фактически имеет символ Unicode.
Если это просто для отображения в браузере, рассмотрите возможность использования либо '€'
или же '€'
Если вы используете такой набор символов с символом евро, вы, скорее всего, используете iso-8859-15, в котором символ "€" определен в позиции 164. Так что вам может повезти больше, если вы замените 128 на 164, хотя это не поможет вам в среде utf-8, в которой предыдущий ответ может быть более подходящим.
В CP1252 кодировка € имеет код 128; В ISO-8859-15 код 164; Макинтош Роман 219;
Знак евро является частью ASCII. Посмотрите, что http://www.ascii-code.com/