没有显示在站点的欧洲标志

时间:2011-07-25 00:02:09

标签: php mysql html

我的一个字段(这是一个latin1_swedish_ci)似乎在该字段内的PHPMYADMIN中显示欧元符号正常。

但是,当我尝试在表单中的网站输入字段中回显它时,它会在firefox中显示为问号。

继承人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用于该字段,但结果相同。

3 个答案:

答案 0 :(得分:6)

尝试使用htmlentities()代替htmlspecialchars()

特殊字符不会转换所有内容,只需几个选择字符。欧元符号€,需要真正编码,&euro;

答案 1 :(得分:4)

如果您以UTF-8的形式提供页面,则需要确保在将数据库放入页面之前以UTF-8编码从数据库中获取字符串。您可以使用以下方式执行此操作:

mysql_set_charset('utf8');

(如果你这样做,将你的实际表数据存储在UTF-8中也是有意义的,例如utf8_general_ci,而不是latin1_swedish_ci,这样你就可以正确处理外面的字符基本的拉丁语-1集。)

答案 2 :(得分:0)

尝试将MySQL charset更改为UTF-8或瑞典语。

Here这是一个小例子。