我在 Debian 机器上有一个 Apache 服务器,
我也在其上安装了 PHP,该机器上托管的所有网站上都出现了一些错误字符。
例如
it's
表明
it�s
我认为这可能是 Apache 的问题,因为相同的代码和数据库在其他地方运行良好,但我并不完全确定,所以我需要做什么样的事情来解决这个问题?
答案1
字符编码似乎有问题。您可以尝试以下方法:
您是否尝试过明确设置 HTML 输出的字符集以匹配数据库的字符集?例如,如果您的数据库采用 UTF-8,请尝试在 de<head>
标签内的元标记中声明它:
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
对于 HTML 5 来说,它要短得多:
<meta charset="UTF-8" />
对于 mysql,您可以通过执行以下语句来确定您的数据库正在使用哪种字符集:
USE <databasename>;
SHOW VARIABLES LIKE 'character_set_database';
其他DBMS也会有类似的语句。
但是,我认为您不需要对每个页面/站点都重复此操作(但这样做肯定不会有什么坏处):当然,通过调整 httpd.conf 或 apache2.conf 中的 AddDefaultCharset 指令或主配置所在的位置,更改 Apache 的默认字符集更容易:
# AddDefaultCharset Somethingelse
AddDefaultCharset UTF-8
然后重新加载 apache。