Recraft中文乱码需从字体注入、编码声明、安全渲染和PDF嵌入四方面解决:替换为思源黑体并正确引用;HTML加UTF-8声明、SVG加xml:lang="zh-CN";启用unicode-safemode;导出PDF时强制嵌入CJK字体。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在使用Recraft生成文字内容时遇到乱码,例如中文显示为方框、问号、叠字或异常符号,则很可能是由于Recraft的文本渲染引擎未正确加载中文字体或字符编码未被识别所致。以下是解决此问题的步骤:
一、检查并替换Recraft项目中嵌入的字体文件
Recraft默认可能调用系统级无衬线字体(如Helvetica或Arial),这些字体不包含完整中文字形,导致渲染失败。需手动注入兼容性更强的开源中文字体。
1、下载思源黑体(Source Han Sans SC)Regular版本.ttf文件,确保其为OpenType格式且无加密限制。
2、进入Recraft项目设置路径,定位到assets/fonts/目录(若不存在则新建)。
3、将下载的字体重命名为recraft-zh.ttf,避免空格与特殊字符。
4、在Recraft的文本图层属性面板中,于“自定义字体”字段输入该文件名(不含扩展名),或通过CSS样式表注入:@font-face { font-family: "recraft-zh"; src: url("assets/fonts/recraft-zh.ttf"); }。
二、强制指定文本编码与语言属性
Recraft底层可能依据HTML文档的<meta charset>或SVG的xml:lang属性推断文本处理逻辑。缺失声明将触发默认ASCII解析,引发中文截断或乱码。
1、在Recraft导出的HTML或SVG源码头部,插入标准UTF-8声明:<meta charset="UTF-8">。
2、对每个含中文的<text></text> SVG元素,添加属性:xml:lang="zh-CN"与font-family="recraft-zh, sans-serif"。
3、若使用Recraft API批量生成,确保请求体中的text字段值经JavaScript encodeURIComponent()编码,并在服务端以UTF-8解码接收。
三、启用Recraft内置的Unicode安全渲染模式
部分Recraft高版本(v2.8.0+)引入了unicode-safemode开关,可绕过字体回退机制,直接调用系统级Unicode合成渲染器,适用于无法部署自定义字体的云环境。
1、在Recraft编辑器右上角点击齿轮图标,打开“高级设置”面板。
2、勾选“启用Unicode安全渲染”选项(位于“文本与字体”分组下)。
3、保存设置后,重新输入中文内容并预览;若仍出现方框,说明当前运行环境缺少基础中文字体支持,需配合方案一执行字体注入。
四、验证并修复导出PDF中的嵌入字体缺失
Recraft导出PDF时若未嵌入中文字体子集,Acrobat等阅读器会使用替代字体渲染,造成乱码或排版错位。
1、导出前,在“导出设置”中启用“嵌入全部字体字形”(非仅“嵌入所用字形”)。
2、导出后,用Adobe Acrobat打开PDF,按Ctrl+D打开文档属性,切换至“字体”标签页。
3、确认中文字体条目状态为“已嵌入子集”或“已嵌入”;若显示“未嵌入”,则返回Recraft重新导出并勾选“强制嵌入CJK字体”选项(如有)。











