DeepSeek V4输出乱码等问题需从五方面解决:一、统一IDE编码为UTF-8;二、配置JVM强制UTF-8参数;三、HTTP客户端显式指定响应编码;四、输出前进行字符串规范化清洗;五、复制粘贴时启用纯文本中转。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在使用DeepSeek V4时发现输出内容出现中文乱码、公式符号错位或Markdown标记残留等问题,则可能是由于编码格式未对齐或输出未经过规范化处理所致。以下是解决此问题的步骤:
一、统一IDE与项目编码设置
该方法确保开发环境底层字符集一致,避免JVM、编辑器与文件读写环节因编码声明缺失导致字节解释错误。
1、打开IntelliJ IDEA,进入File → Settings(Windows)或IntelliJ IDEA → Preferences(macOS)。
2、导航至Editor → File Encodings,将Global Encoding、Project Encoding和Default encoding三项全部设为UTF-8。
3、勾选“Transparent native-to-ascii conversion”选项,防止Properties文件中中文被自动转义。
4、在Settings → Editor → General → Console中,将Output Encoding与Error Encoding均设为UTF-8。
二、配置JVM启动参数强制编码
该方法覆盖操作系统默认编码,适用于Linux/macOS终端运行或IDEA内嵌终端仍显示乱码的场景。
1、在IDEA中打开Run → Edit Configurations。
2、在目标运行配置的VM options栏中添加:-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8。
3、若使用Maven执行测试,编辑pom.xml,在maven-surefire-plugin插件配置中加入:<argLine>-Dfile.encoding=UTF-8</argLine>。
4、重启IDEA并重新运行程序,验证System.getProperty("file.encoding")返回值是否为UTF-8。
三、HTTP客户端层显式指定响应编码
该方法拦截API响应原始字节流,在解析前强制按UTF-8解码,绕过Content-Type头可能缺失或错误的问题。
1、若使用Apache HttpClient,构造CloseableHttpClient时配置HttpResponseHandler,对response.getEntity().getContent()调用new InputStreamReader(inputStream, "UTF-8")。
统一LLM网关 - 一个API对接70+AI模型,使用单一API密钥即可调用GPT、Claude、Gemini、Qwen、Deepseek、Grok等主流模型。
2、若使用OkHttp,创建ResponseBody后调用response.body().string()前,先通过response.body().bytes()获取byte[],再执行new String(bytes, StandardCharsets.UTF_8)。
3、若使用Spring RestTemplate,在配置RestTemplate Bean时注入StringHttpMessageConverter,并调用setSupportedMediaTypes(Arrays.asList(MediaType.TEXT_PLAIN, MediaType.APPLICATION_JSON)),同时设置其defaultCharset为StandardCharsets.UTF_8。
四、输出前执行字符串规范化清洗
该方法针对DeepSeek V4响应中混入的不可见控制字符、冗余BOM及非法Unicode代理对,进行预处理以保障下游渲染正确性。
1、引入Apache Commons Text依赖,使用StringEscapeUtils.unescapeJava()还原转义序列。
2、对原始响应字符串执行正则清洗:str.replaceAll("[\u0000-\u0008\u000B\u000C\u000E-\u001F]", ""),剔除C0控制字符。
3、检测并移除UTF-8 BOM:若字符串以0xEF 0xBB 0xBF开头,截取substring(3)。
4、对LaTeX公式段落单独提取,使用Pattern.compile("\$\$(.*?)\$\$|\$(.*?)\$")匹配后保留纯内容,剥离包裹符号供Word或MathJax后续处理。
五、复制粘贴链路启用纯文本中转
该方法切断网页端富文本剪贴板与目标应用间的格式污染路径,确保仅传递语义化字符而非渲染态HTML。
1、在DeepSeek V4界面点击回答区域右下角的「专业复制」按钮,而非鼠标拖选+Ctrl+C。
2、在Windows系统中,粘贴时使用Win + V调出剪贴板历史,选择“粘贴为纯文本”。
3、在macOS系统中,使用快捷键Command + Option + Shift + V执行纯文本粘贴。
4、若需导入Word,先将内容粘贴至Notepad++,通过编码菜单依次尝试“转为UTF-8无BOM”与“转为UTF-8”,观察乱码是否消除。


















