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

如何用PHP将é类Unicode转义字符转换为正常字符

解决Cloud Translate API返回的Unicode转义字符问题

你遇到的是JSON格式的Unicode转义序列(\u00e9这类),当前代码里的正则是针对%uXXXX格式的URL编码,所以对这种转义无效。以下是几种PHP的解决方法:

方法一:利用json_decode直接解码(推荐)

这类\uXXXX转义是JSON标准的语法,PHP内置的json_decode可以直接处理:

// 示例字符串
$translatedText = 'votre \u00e9v\u00e9nement une exp\u00e9rience unique.';
// 把字符串包裹成双引号的JSON字符串,再解码
$fixedText = json_decode('"' . $translatedText . '"');

这个方法简单可靠,能处理所有标准的Unicode转义,包括多字节的\uXXXX\uXXXX组合(比如emoji)。

方法二:处理含双引号的特殊情况

如果翻译后的字符串里包含双引号,需要先转义双引号再解码:

$translatedText = 'votre "événement" \u00e9v\u00e9nement';
// 转义字符串中的双引号
$escapedText = str_replace('"', '\\"', $translatedText);
$fixedText = json_decode('"' . $escapedText . '"');

结合你的现有代码修改

把代码中处理转义的部分替换成:

$text_translated = $translate->translate($value, [
    'source' => $source,
    'target' => $target,
    'format' => 'text'
])['text'];

// 处理Unicode转义
$escapedText = str_replace('"', '\\"', $text_translated);
$fixedText = json_decode('"' . $escapedText . '"');

$newArray[$key] = $fixedText;

这样就能自动把所有\uXXXX转义转换成对应的正常字符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 05:15:19