在移植之后,调用数据库数据中文显示没有错误,可是网页标题栏,页面名称如果有中文还是显示乱码“ ??ʱ”等符号,如我定义mantis系统为“Mantis Bug 跟踪管理系统”,在config_inc.php里定义:
$g_window_title = 'Mantis Bug 跟踪管理系统'; # 浏览器标题
$g_page_title = 'Mantis Bug 跟踪管理系统'; # 页面标题栏
可是显示如上所述乱码,考虑可是是对于中文显示的问题,于是将config_inc.php另存一下,存为utf8格式 ,没想到会出现如下错误:
APPLICATION ERROR #18
页面重定向错误,请确定在 config_inc.php 或 custom_*.php 文件的 PHP 代码块 (<?php ?>部分)中没有多余的空格。
考虑了一下,又将config_inc.php另存一下,存为utf8无bom格式 ,则才显示正常。这是因为所有的文本编辑软件都可以显示并编辑UTF-8编码的文件。但是很多软件里,如WINDOWS自带的记事本等软件,在保存一个以UTF-8编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF 0xBB 0xBF,即BOM)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。对于一般的文件,这样并不会产生什么麻烦。但对于 PHP来说,BOM是个大麻烦。所以我们保存的时候采用utf8无bom格式避免这种问题的发生。而出现APPLICATION ERROR #18的错误也是由这引起的。