AppServ 3.0 全程 UTF-8 配置需手动修改四部分:1. Apache 的 httpd.conf 设 AddDefaultCharset UTF-8;2. PHP 的 php.ini 设 default_charset="UTF-8" 并启用 mbstring;3. MySQL 的 my.ini 配置 client、mysqld、mysql 段的 utf8 编码,再 ALTER DATABASE;4. phpMyAdmin 的 config.inc.php 添加 $cfg['DefaultCharset'] = 'utf-8'。

AppServ 3.0 是一个较老的集成环境包(含 Apache、PHP、MySQL、phpMyAdmin),发布于 2000 年代中期,其默认配置未针对 UTF-8 全面优化。它本身不提供图形化编码设置界面,需手动修改多个组件的配置文件才能确保从 Web 请求、PHP 解析到数据库交互全程使用 UTF-8。以下操作均基于 AppServ 3.0 的典型安装路径(如 C:\AppServ)。
1. 修改 Apache 的默认字符集响应头
让 Apache 在 HTTP 响应中主动声明 UTF-8,避免浏览器误判:
- 打开
C:\AppServ\Apache2.2\conf\httpd.conf - 查找
AddDefaultCharset行(通常在第 700 行左右) - 将其改为:
AddDefaultCharset UTF-8 - 保存后重启 Apache 服务
2. 配置 PHP 默认内部编码
确保 PHP 脚本处理字符串、输出内容时以 UTF-8 为基准:
- 打开
C:\AppServ\php\php.ini - 找到
default_charset项(可能被注释) - 取消注释并设为:
default_charset = "UTF-8" - 可选但推荐:添加或确认以下两行启用多字节支持
extension=php_mbstring.dll
mbstring.internal_encoding = UTF-8 - 保存后重启 Apache
3. 设置 MySQL 连接与数据库默认编码
防止 PHP 读写数据库时因连接层编码不一致导致乱码:
- 打开
C:\AppServ\MySQL\my.ini - 在
[client]段下添加:
default-character-set=utf8 - 在
[mysqld]段下添加:
character-set-server=utf8
collation-server=utf8_general_ci - 在
[mysql]段下添加:
default-character-set=utf8 - 重启 MySQL 服务
- 对已有数据库执行:
ALTER DATABASE `db_name` CHARACTER SET = utf8 COLLATE = utf8_general_ci;
4. phpMyAdmin 界面与导出编码适配
AppServ 自带的 phpMyAdmin 版本较旧(通常为 2.x),需手动补丁:
- 打开
C:\AppServ\www\phpMyAdmin\config.inc.php - 在末尾添加:
$cfg['DefaultCharset'] = 'utf-8';
$cfg['ForceSSL'] = false;(后者非必需,但可避免部分旧版兼容问题) - 若导出 SQL 文件仍含乱码,在导出页面勾选 "Export character set" → "utf8"(界面可见选项)
完成上述四步后,新建 PHP 页面用 echo "中文测试"; 并通过浏览器访问,应能正常显示。注意:AppServ 3.0 不支持 utf8mb4,所有 UTF-8 相关配置请统一使用 utf8(MySQL 中指最多三字节的 UTF-8 子集),而非现代推荐的 utf8mb4。


















