2014-08-11 8 views
0

Мне нужна помощь, я ввел специальный символ в форме, как «ä», и он был сохранен в базе данных, но когда я вызываю его с помощью JavaScript, тип предложения, он отображается неправильно , он отображается следующим образом: "ä".HTML специальный символ

Можно ли из формы «А» он будет сохранить как «& AUML» в базе данных? как оно?

+3

Покажите нам код, который вы использовали. –

+1

Вы не хотите, чтобы он сохранялся как '& auml' в вашей базе данных. Всегда используйте правильную кодировку на правильном уровне. Если вам нужно отправить свою информацию на принтер или электронную почту, тогда кодировка HTML будет * не * уместной. –

ответ

2

Это связано с неправильным толкованием строки UTF-8 как ISO-8859-1. Символ «ä» представлен в UTF-8 двумя байтами 0xC3 0xA4, но в ISO-8859-1 байт 0xC3 представляет символ «Ã», а байт 0xA4 представляет символ «¤».

Скорее всего, ваша программа отправляет страницу как UTF-8, но не сообщает браузеру, какая кодировка была использована, поэтому браузер принимает ISO-8859-1 (по умолчанию). Вам необходимо отправить HTTP-заголовок Content-Type, который определяет кодировку, такую ​​как text/html; charset=UTF-8.

0

Если вы еще этого не сделали, вы должны определить набор символов, используемый вашей страницей.

Добавьте это в ваших <head> теги:

<meta charset="utf-8"> 

Есть other character sets как хорошо, но UTF-8, а stated по Google еще в 2008 году, стал одним из самых популярных на сегодняшний день.

+0

Возможно ли, что из формы «ä» оно будет сохранено как «& auml» в базе данных? как оно? – rkevx21

+0

@ user3928061 Да, это так. Если бы вы могли отредактировать свой вопрос, включив часть своего кода, мы могли бы взглянуть на него. – cubrr

0

Это связано с вашим набором символов, но есть два набора символов, которые вам нужно иметь в виду. Первый - это набор символов в базе данных, а второй - набор символов в вашем HTML. Они должны соответствовать.

Даже если вы делаете что-то вроде $mysqli->set_charset("utf8"); в сценарии подключения, база данных должна иметь utf8 также для правильного отображения данных.

Смежные вопросы