全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 1367|回复: 8

被中文乱码搞死了,求个大佬

[复制链接]
发表于 2024-2-17 07:41:04 | 显示全部楼层 |阅读模式
本帖最后由 Clost 于 2024-2-17 07:58 编辑
  1. \u00e9\u00a6\u0096\u00e5\u00b0\u0094\u00e4\u00b9\u008b\u00e6\u0098\u00a5
复制代码


上面是乱码,结果应该是首尔之春

用的C#语言的程序 (传递参数) 执行.sh结尾的shell脚本 (传递参数) shell脚本执行.py的python脚本 然后打包参数再body里post请求,用的java做的api接收参数,然后接受的结果是乱码。
java中的sout输出结果是
  1. ����
复制代码

为什么传递这么多回?答:没办法,尽力了
求个大佬解释应该怎么做

补充:python中打印出来的中文没有问题

java spark的服务器 和 发送api请求的服务器都是export LANG=en_US.UTF-8

发送api请求的python已设置头
  1. headers = {
  2.     "Content-Type": "application/json;charset=utf-8",
  3. }
复制代码


 楼主| 发表于 2024-2-22 08:12:26 | 显示全部楼层
本帖最后由 Clost 于 2024-2-28 06:29 编辑

记录一下解决方法,在发送post的机子上
  1. LANG="zh_CN.UTF-8"
复制代码

然后运行
  1. locale-gen
复制代码


要修改/etc/default/locale中的文件
  1. LANG="zh_CN.UTF-8"
复制代码


再重启服务器
发表于 2024-2-17 07:58:47 来自手机 | 显示全部楼层
你这跨度有点大。试试这个?https://blog.csdn.net/Psanji_isme/article/details/120675093
发表于 2024-2-22 08:27:56 | 显示全部楼层
和  "Content-Type": "application/json;charset=utf-8", 这个关系不大。
往body里面放的时候
"xxxxx".getBytes(charsetName);

接收到流也用对应的charsetName
发表于 2024-2-22 08:54:49 | 显示全部楼层
本帖最后由 mmc199 于 2024-2-22 09:16 编辑

Python 包含\u字符串转中文(\u00) https://blog.csdn.net/u012206617/article/details/117670783  

用.encode('latin1').decode('unicode_escape').encode('latin1').decode('utf8')
发表于 2024-2-22 09:10:01 | 显示全部楼层
直接转byte流发送呢
发表于 2024-2-22 09:32:07 | 显示全部楼层
utf8->ansi
发表于 2024-2-22 09:38:24 | 显示全部楼层
手持两把锟斤拷,口中疾呼烫烫烫。脚踏千朵屯屯屯,笑看万物锘锘锘
发表于 2024-2-22 09:43:34 | 显示全部楼层
https: //**blogs.com/BillyLV/p/12658463.html
Linux系统修改默认语言环境为zh_CN.UTF-8字符集,解决中文乱码问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-11-26 10:38 , Processed in 0.064717 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表