huihui304com 2017-08-30 03:35 采纳率: 0%
浏览 1714

Linux服务器之间传参出现乱码

Java做了个仿真终端部署在一台utf-8服务器上,代码telnet到另外一台服务器(gbk),发送命令到这台服务器上, 命令中出现中文乱码。

试过以下几个方法:
1 String g1 = new String(s1.getBytes("utf-8"), "gbk");
2 Unicode2GBK(string2Unicode(addback))
3 new TelnetClient("VT220");
4 new TelnetClient("VT100");
都不行,发送过去的命令还是会出现乱码。
命令行:CLRDSG: DSP="主叫甄别组1"
乱码:CLRDSG: DSP="涓诲彨鐢勫埆缁�"

  • 写回答

2条回答 默认 最新

  • 糖醋而已 2017-09-18 07:23
    关注

    页面pageEncoding = "utf-8" charset="utf-8"
    (1)server.xml 配置端口号出配置 URIEncoding = "UTF-8" 这是针对浏览器的编码
    还有个参数 useBodyEncodingForURI = "true"; 暂时没搞清是什么
    (2)web.xml 中的字符集过滤器 是针对springMVC的字符集

    (3) url 中 ?拼接的参数 不会经过字符集拦截器 重定向中可以使用ModelAndView 的对象,
    ModelAndView mv = new ModelAndView("redirect:/index.do");
    mv.addObject("id",id);

    (4)自定义拦截器
    ①写一个实现了 HandlerInterceptorAdpter 的拦截器 并且手动实现 preHandle() return true;
    ② springMVC配置文件中配置
    mvc:interceptors

    /mvc:interceptors
    ③指定字符集
    String id = request.getParameter("id");
    if(id != null){
    id = new String(id.getBytes("iso-8859-1"),"utf-8");
    request.setAttribute("id",id);
    }
    return true;

    评论

报告相同问题?

悬赏问题

  • ¥15 matlab实现基于主成分变换的图像融合。
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊