Знак Euro не отображается на сайте

Одно из моих полей (которое является latin1_swedish_ci), похоже, показывает символ евро в PHPMYADMIN внутри поля.

Однако, когда я пытаюсь повторить его в поле ввода на моем веб-сайте в форме, он отображается как вопросительный знак в firefox.

Heres html / php:

$sql = mysql_query("select * from `settings`"); while ($row = mysql_fetch_assoc($sql)) $setting[$row['field']] = htmlspecialchars($row['value'], ENT_QUOTES); <input type="text" name="currency_symbol" id="currency_symbol" size="50" value="<?php echo $setting['currency_symbol']; ?>" /> 

Я использую следующий метатег на странице:

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

Я попытался использовать utf8_general_ci для поля, но получаю тот же результат.

Попробуйте использовать htmlentities() вместо htmlspecialchars() .

Специальные символы не преобразуют все, всего несколько символов. Евро-символ €, должен быть действительно закодирован &euro; ,

Если вы обслуживаете страницу как UTF-8, вам необходимо убедиться, что вы извлекли строку из базы данных в кодировке UTF-8, прежде чем положить ее на страницу. Вы можете сделать это, используя:

 mysql_set_charset('utf8'); 

(Если вы это делаете, имеет смысл также хранить ваши фактические данные таблицы в UTF-8, например utf8_general_ci , а не latin1_swedish_ci , поэтому вы можете правильно обрабатывать символы за пределами базового набора Latin-1.)

Попробуйте изменить кодировку MySQL на UTF-8 или на шведский.

Вот небольшой пример.