首页 > 其他分享 >记一次编码问题的扯皮解决

记一次编码问题的扯皮解决

时间:2024-03-19 14:33:56浏览次数:16  
标签:扯皮 中文 UTF 编码 GBK agent 乱码 解决

事情是这样的

测试在测一个agent.ini为UTF-8中文保存的时候出现了乱码问题。

经过我的定位发现直接写一个方法,将进入的类的所有字符串参数通过反射由GBK转UTF-8,即可解决此问题。

我直接将此代码提上去,结果审核没给我过。

问我为什么要由GBK转UTF-8?

我说这是测试提的问题单,我这方法就是解决这个问题的。

可是不是根本问题,那如果他本身就是GBK的中文,如果通过我这个方法就会乱码。

也就是说,实际上的问题我总结一下就是:

如果客户使用GBK或者ANSI的中文,可以全程正常没问题。
如果客户使用UTF-8的中文,会被系统的agent代码功能误认为是GBK,进入Java这边就是乱码了(以UTF-8的中文,被错误识别成GBK)。我们要程序里加上一段将GBK转换成UTF-8,就能解决这种问题。但我们这个解决方案,会影响使用GBK或者ANSI的中文客户,使得这部分客户乱码。
两种解决方案,一种是:
1.在agent的软件使用说明书备注agent.ini使用中文时需要GBK或者ANSI编码,无需更改代码。
2.在agent的软件使用说明书备注agent.ini使用中文时需要UTF-8编码,我们加上一段将误识别成GBK的编码转换为UTF-8的方法。
无法同时兼顾两类客户,以一个方法转成正确的,因为我们要知道原始编码才能进行转换,我们获取到的只是字符串,没法判断里面的中文是否是乱码。

说到底我们并不知道编码是什么格式的,如果给火星文给我们,我们是没办法识别的对吧。

因此实际上就是像配置文件这种东西,如果客户要动,就不能乱动,编码格式规定好。

而不是通过我们开发来根据编码格式进行适配。

 

并且还有一个问题,我以为所有开发要么是用txt或者nodepad++打开时,问了才发现

还有的用nodepad,有的用vscode打开

就会存在ANSI,GBK,UTF-8,甚至还可能有只用简体的GBK2开头的

规范还是很重要的,如果最开始规范好

就直接少半天的扯皮,也不至于加班为这种问题扯皮了。

标签:扯皮,中文,UTF,编码,GBK,agent,乱码,解决
From: https://www.cnblogs.com/immersed-in-the-deep-sea/p/18082755

相关文章

  • octave中的plot图不太正常的解决办法
    简单代码:t=0:0.01:2*pi;y=sin(2*t);plot(y,t);plot(t,y);gridonoctave中运行脚本命令为:run testplot.m看生成的图片:gridon命令没有任何用处,octave中执行:graphics_toolkit('fltk')命令后,也就是换成fltk的图像引擎后,再次执行以上的脚本,生成图片:终于正常了,我......
  • ENGG1330编程解决
    ENGG1330计算机编程课业1ENGG1330计算机程序设计I(第2学期23-24)重要注意事项?在执行此任务时,应仅使用Python内置功能。它是不需要导入任何模块来完成此分配。零分到导入任何模块的程序。如果您不确定,请随时与我们联系clalifica=打开。?虽然编程风格不分级,但强烈建议您使用func=......
  • dbeaver使用gaussdb超大sql更新8000多字符的解决方法
    我们有个字段是存的CLOB大文本数据,里面存的json测试临时来了一个需求,想尝试更改里面的某个值,查看页面效果。我尝试写了一条sql语句updatexxxsetxxxwherexxx因为set后面的内容过长,导致gaussdb写入失败尝试直接给里面字段再保存也失效。同事经过查询后,给出了一种解决方案......
  • Win7系统提示找不到w32tm.exe文件的解决办法
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个w32tm.exe文件(挑选合适的版本文件)把它放入......
  • Win7系统提示找不到wextract.exe文件的解决办法
    其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个wextract.exe文件(挑选合适的版本文件)把它......
  • 3C电子行业MES系统解决方案详细介绍
    3C电子行业是一个很广泛的领域,包含了我们常使用的电脑、通讯和穿戴设备等,涵盖了从个人电脑、智能手机、平板电脑到电视机、音响设备等多种产品。在这个行业中,不断涌现出各种创新技术和产品,满足了人们在工作、娱乐和日常生活中的各种需求。随着科技的不断进步和消费者需求的变......
  • 微信小程序:解决chooseImage:fail unknouwn scene报错
    我自己用的是安卓的,在某些苹果机上正常运行,但在我一个朋友的11上就报这个错: 开始以为是隐私协议的问题,我就把隐私协议打开了: 但是错误依然,我就谷歌了一下,发现,这是个微信的bug。。https://developers.weixin.qq.com/community/develop/article/doc/000840f94fc390bc8d0c......
  • 防爆型气象站解决方案
    TH-FBCQX2防爆型气象站在罐区气象环境中具有广泛的应用。罐区,特别是油罐区和化工储罐区,由于其涉及到易燃易爆物质,对气象条件的变化非常敏感。防爆型气象站的出现,为这些区域提供了安全、准确的气象数据监测解决方案。首先,防爆型气象站具备防爆性能,能够在易燃易爆的环境中安全运......
  • 解决CORS错误(Spring Boot)
    前言跨域(Cross-Origin)是指在Web开发中,当一个Web应用试图从一个源(域名、协议、端口组合)获取资源时,该请求的目标与当前页面的源不同。具体来说,当一个页面的JavaScript代码尝试向不同域名、协议或端口的服务器发送请求时,就会发生跨域请求。跨域请求是由浏览器实施的同源策略(Same-Ori......
  • 不再被 Git 用户名密码困扰,这里有你需要的解决方案
    前言当我们使用git时,经常需要查看或者修改自己的用户名和密码。但是,这个过程可能会遇到一些问题。今天,我们来探讨一下关于如何查看/修改git用户名密码的方法。查看操作1.查看用户名gitconfiguser.name2.查看密码gitconfiguser.password3.查看邮箱gitc......