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

使用WooCommerce PDF Watermark出现FPDF报错水印不显示如何解决

WooCommerce PDF Watermark插件报错修复方案

问题描述

运行于GoDaddy托管服务器的WordPress站点使用WooCommerce PDF Watermark插件时出现两个关联错误,导致水印无法生成:

提示:iconv(): Wrong charset, conversion from 'UTF-8' to 'ISO-8859-1//TRANSLIT' is not allowed in /var/www/wp-content/plugins/woocommerce-pdf-watermark/includes/class-wc-pdf-watermarker.php on line 128
致命错误:Uncaught Exception: FPDF error: Some data has already been output, can't send PDF file in /var/www/wp-content/plugins/woocommerce-pdf-watermark/includes/lib/fpdf/fpdf.php on line 292

根因说明

第一个iconv编码转换错误是核心根因:GoDaddy服务器默认的iconv扩展配置不支持//TRANSLIT转换后缀,执行转换时会抛出PHP警告,警告内容提前输出到响应中,触发FPDF类的输出检查机制,最终导致PDF无法生成,抛出第二个致命错误。

分步修复步骤

  • 修复iconv编码转换错误(二选一即可,优先选方案2避免插件更新覆盖修改)
    方案1:临时修改插件代码
    找到/var/www/wp-content/plugins/woocommerce-pdf-watermark/includes/class-wc-pdf-watermarker.php文件第128行的iconv调用代码,将转换目标编码从ISO-8859-1//TRANSLIT修改为ISO-8859-1//IGNORE,如果仍报错直接改为ISO-8859-1即可。
    方案2:永久修改PHP配置
    登录GoDaddy主机管理面板,找到站点对应的php.ini配置文件,添加或修改以下3行配置:
    iconv.input_encoding = UTF-8
    iconv.internal_encoding = UTF-8
    iconv.output_encoding = ISO-8859-1
    
    保存后重启PHP服务,配置生效后无需修改插件代码即可解决编码转换问题。
  • 排查残留的提前输出问题
    修复iconv错误后如果还有FPDF输出报错,检查两处文件:
    1. 站点根目录的wp-config.php,确保<?php标记在文件第一行,文件末尾不要添加?>闭合标记,去掉所有PHP标记外的空格、空行
    2. 当前激活主题的functions.php,同样排查首尾是否有多余输出,排除其他插件产生的额外打印内容
  • 验证修复效果
    进入WooCommerce PDF Watermark插件设置页重新生成水印预览,或模拟下单生成带水印的PDF票据,确认水印正常显示,无报错信息。

注意事项

  • 修改插件代码或配置文件前请先备份原文件,避免修改错误导致站点异常
  • 若后续更新WooCommerce PDF Watermark插件,需重新检查插件代码是否被覆盖,建议优先使用修改PHP配置的方案

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 19:54:01