You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

服务器升级至CentOS9后特殊字符显示异常求助

解决UTF-8字符输出乱码(è显示为è)的问题

以下是针对该字符编码问题的排查与解决步骤:

  • 检查PHP源文件本身的编码
    乱码的核心原因之一是PHP文件未以UTF-8(无BOM)格式保存。用以下命令检查文件编码:

    file -i your_script.php
    

    正常输出应包含charset=utf-8,若显示其他编码(如ISO-8859-1),需将文件转换为UTF-8无BOM格式(可通过VS Code、Notepad++等编辑器完成)。

  • 配置PHP-FPM默认输出编码
    编辑PHP-FPM的pool配置文件(通常位于/etc/php-fpm.d/www.conf),添加或修改:

    php_value[default_charset] = "UTF-8"
    

    保存后重启PHP-FPM服务:

    systemctl restart php-fpm
    
  • 确认Apache的默认字符集配置
    在Apache主配置(/etc/httpd/conf/httpd.conf)或虚拟主机配置文件中,确保启用:

    AddDefaultCharset UTF-8
    

    重启Apache生效:

    systemctl restart httpd
    
  • 检查mbstring扩展编码设置(若启用)
    若服务器启用了mbstring扩展,编辑php.ini文件,设置:

    mbstring.internal_encoding = UTF-8
    mbstring.http_output = UTF-8
    

    保存后重启PHP-FPM服务。

补充说明:è显示为è是典型的UTF-8字节被当作ISO-8859-1解析的问题,说明从PHP文件读取到HTTP输出的某个环节编码未统一为UTF-8,以上步骤覆盖了所有关键节点。

内容的提问来源于stack exchange,提问作者DrK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 09:33:16