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

Debian服务器PHP GD波斯字符显示分离问题排查求助

解决imagettftext生成波斯文本字符分离问题

以下是原生解决需检查/安装的模块及配置项:

  • 检查GD的FreeType支持完整性
    Debian 12下需确保GD扩展依赖的FreeType库已正确安装,执行命令确认:

    dpkg -l php8.2-gd | grep -i freetype
    

    若没有相关输出,安装依赖库后重新配置PHP:

    apt install libfreetype6-dev
    apt reinstall php8.2-gd
    
  • 安装并配置波斯语专用字体
    系统需安装支持波斯语连字的完整字体,推荐安装Vazirmatn(现代波斯无衬线字体)或FarsiWeb字体:

    apt install fonts-vazirmatn fonts-farsiweb
    fc-cache -fv
    

    脚本中调用imagettftext时必须指定字体的完整路径,例如:

    $font = '/usr/share/fonts/truetype/vazirmatn/Vazirmatn-Regular.ttf';
    
  • 配置PHP的多字节与国际化扩展
    编辑php.ini文件,确保以下配置项正确设置:

    mbstring.language = fa
    intl.default_locale = fa_IR.UTF-8
    

    修改后重启PHP-FPM或Web服务器(如Apache/Nginx)。

  • 配置系统波斯语区域设置
    系统locale会影响GD的文本连字处理,执行以下命令生成并启用波斯语locale:

    apt install locales
    locale-gen fa_IR.UTF-8
    update-locale LANG=fa_IR.UTF-8 LC_ALL=fa_IR.UTF-8
    

    完成后重启系统使设置生效。

  • 确保文本编码正确
    在调用imagettftext前,确认文本为UTF-8编码,可通过mb_convert_encoding强制转换:

    $persianText = mb_convert_encoding($persianText, 'UTF-8', 'auto');
    

内容的提问来源于stack exchange,提问作者علیرضا

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 12:42:41