Вопрос

По какой-то причине я получаю £76756687 странный символ, когда я печатаю £ в текстовом поле формы?

Это было полезно?

Решение

Как вы подозреваете, это проблема с кодировкой символов - настроена ли страница на использование кодировки UTF-8?(На самом деле вы не ошибетесь с этой кодировкой.) Кроме того, вы, вероятно, захотите, чтобы сущность закодировала символ фунта на выходе (£)

В качестве примера набора символов (как для страницы формы, так и для электронной почты HTML) вы можете использовать:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

Тем не менее, есть ли у пользователя веская причина вводить символ валюты?Было бы лучше иметь его в виде статического текстового элемента или раскрывающегося списка слева от текстового поля?(Не стесняйтесь игнорировать, если я говорю задницу, а вы используете текстовую область произвольной формы или сумму.)

Другие советы

Вероятно, вы используете UTF-8 в качестве кодировки символов, но неправильно объявляете вывод.Поскольку £ символ (U+00A3) кодируется в UTF-8 с помощью 0xC2A3.И эта последовательность байтов представляет два символа Â и £ при интерпретации согласно ISO 8859-1.

Поэтому вам просто нужно правильно указать кодировку символов.В PHP вы можете использовать header функция чтобы установить правильное значение для Тип содержимого поле заголовка нравиться:

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

Но убедитесь, что вы вызываете эту функцию перед любым выводом.В противном случае заголовок HTTP уже отправлен, и вы не сможете его изменить.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top