为什么特殊字符在页面中呈现错误?

时间:2012-10-24 17:50:16

标签: php character-encoding

我写了一个PHP脚本,它从页面获取文本输入作为输入。代码只是这个,现在:

<?php
include("../Includes/Database.php");
mysql_select_db('...', $db3);
$originalText=$_POST['text'];
echo $originalText;
?>

代码适用于普通输入(可打印ASCII),但不适用于éдφ等特殊字符...例如,输入{{1}输出Stack Overflow,而Stack Overflow返回Δημοκρατία。它不适用于扩展ASCII:ΔημοκÏατία返回même 我不需要完整的Unicode支持[尽管它很好],只需扩展ASCII,因为输入文本将使用意大利语(使用mêmeàèéìò)。

[确切地说,ù使用Unicode字符,因为它是希腊语中的“民主”; Δημοκρατία使用扩展ASCII,因为它是“相同”的法语(même是扩展ASCII)]

1 个答案:

答案 0 :(得分:0)

实现此目的的一个好方法是声明页面的编码,修改HTTP标头或使用<meta>标记。在这种情况下,UTF-8编码符合要求。

HTTP标头:

Content-Type: text/html; charset=utf-8

HTML(将被HTTP标头覆盖):

<meta charset="UTF-8">