今天上班,升级脚本时候报错,网管服务端显示出错的sql有乱码。对上传到服务端的sql文件,用vi打开没问题,但是用more打开则显示乱码 怀疑是编码问题。UE打开出错sql文件,ctrl+H显示前导字符为“EFBBBF”,该文件为UTF-8编码。网管服务端的乱码为“锘縰pdate...”是否网管服务端将其当做GBK进行转码呢?写了一小段程序验证了我的猜想
public static String bin2hex(String bin, String charSet) throws Exception {
char[] digital = "0123456789ABCDEF".toCharArray();
StringBuffer sb = new StringBuffer("");
byte[] bs = bin.getBytes(charSet);
int bit;
for (int i = 0; i < bs.length; i++) {
bit = (bs[i] & 0x0f0) >> 4;
sb.append(digital[bit]);
bit = bs[i] & 0x0f;
sb.append(digital[bit]);
}
return sb.toString();
}
public static String hex2bin(String hex, String charSet) throws Exception {
String digital = "0123456789ABCDEF";
char[] hex2char = hex.toCharArray();
byte[] bytes = new byte[hex.length() / 2];
int temp;
for (int i = 0; i < bytes.length; i++) {
temp = digital.indexOf(hex2char[2 * i]) * 16;
temp += digital.indexOf(hex2char[2 * i + 1]);
bytes[i] = (byte) (temp & 0xff);
}
return new String(bytes, charSet);
}
public static void main(String[] args) throws Exception {
String str = "update";
// 757064617465
System.out.println(bin2hex(str, "UTF-8"));
// 757064617465
System.out.println(bin2hex(str, "GBK"));
// EFBBBF是UTF-8前缀
String ss = "EFBBBF" + bin2hex(str, "UTF-8");
//锘縰pdate
System.out.println(hex2bin(ss, "GBK"));
}
分享到:
相关推荐
一般默认都是 UTF-8 或者 GBK,当从外部导入的一个工程时,如果该工程的编码方式与 Eclipse 中设置的编码方式不同,就会产生中文的乱码问题。这种问题在实际项目中非常常见,解决此问题的关键是了解 Eclipse 的编码...
在 Web 开发中,乱码问题是常见的难题之一。乱码问题的出现主要是由于编码不一致引起的。编码不一致可能出现在多个方面,如页面编码、服务器编码、客户端编码、数据库编码等。在本文中,我们将详细介绍乱码问题的...
在IT领域,乱码问题是一个常见的困扰,尤其是在处理文本数据时。乱码通常指的是字符显示不正确或无法识别,这可能由于编码格式不匹配、文件损坏、程序设置不当等原因引起。下面将详细讨论乱码产生的原因、解决方案...
解决 JSP 中文乱码问题是一个很常见的问题,在 JSP 开发过程中,经常出现中文乱码的问题,可能一至困扰着大家。下面我们将详细讨论 JSP 中文乱码问题的成因和解决方法。 JSP 中文乱码问题的成因 JSP 中文乱码问题...
qt乱码问题解决
中文乱码问题是 Java 和 JSP 开发中的一种常见问题,主要是由于 Java 和 JSP 源文件的保存方式是基于字节流的,而编译成 class 文件过程中,使用的编码方式与源文件的编码不一致所致。在 Java 文件中,尽量不要写...
【Hadoop中文乱码问题详解】 在大数据处理领域,Hadoop是一个不可或缺的开源框架,它提供了分布式存储(HDFS)和分布式计算(MapReduce)的能力。然而,在处理包含中文字符的数据时,用户可能会遇到中文乱码的问题...
在 Web 开发中,中文乱码问题是一个常见的问题,尤其是在FORM表单传递参数时。这个问题的根本原因是对中文的编码与解码方式不一致。我们可以理解为对中文的加密与解密的密钥不一致。例如,用UTF-8对中文编码而用ISO-...
这是一个较为复杂的多表连接查询,涉及到多次子查询以及表连接。在这个过程中,如果存在乱码问题,可能的原因包括但不限于: - **字符集不匹配**:不同表之间的字符集设置不一致。 - **连接操作导致的数据类型转换...
在信息技术领域,乱码问题是指字符在计算机中由于编码不一致或者不正确而导致的显示错误,通常表现为无法识别的特殊符号或者乱糟糟的方块。润乾报表乱码问题尤其令人头疼,因为它影响了数据的显示和传输,尤其是对于...
在Java编程中,中文乱码是一个常见的问题。为了解决这个问题,我们需要从多个方面入手。首先,我们需要将Eclipse的编码方式设置为UTF-8,以便正确地显示中文字符。其次,我们需要在浏览器中将字符设置为unicode,...
在使用不同操作系统处理文件时,文件乱码是一个常见问题,尤其是当涉及到Windows和Ubuntu这两种系统时。Windows系统通常使用GBK编码来处理中文,而Ubuntu系统默认使用UTF-8编码,这导致了两者在处理中文文件时出现...
以下是一个简单的示例代码,演示如何在SpringBoot项目中解决乱码问题: @RestController public class HelloController { @GetMapping("/hello") public String hello() { return "Hello, World!"; } } 四、...
MySQL 是一个功能强大且广泛应用的关系型数据库管理系统,但是,在使用 MySQL 时,用户经常会遇到中文乱码问题。今天,我们将讨论在 MySQL 中的中文乱码问题,并提供解决方法。 MySQL 中文乱码问题的原因 在 ...
在Java编程中,乱码问题是一个常见的困扰,尤其是在处理字符编码时。以下是一些关键的知识点,可以帮助理解和解决Java中的乱码问题。 首先,我们需要理解字符编码的基本概念。字符编码是用来表示文本的一种方式,...
JavaScript作为前端开发的核心技术之一,在处理字符编码方面同样会遇到各种各样的乱码问题。本文将详细介绍JavaScript中常见的乱码现象及其解决方案,帮助开发者更好地理解和解决这类问题。 #### 二、JS乱码问题...
在使用Netty进行TCP/IP通信时,我们可能会遇到数据进制转换导致的乱码问题。这个问题通常是由于数据编码不一致或者处理方式不当所引起的。在本文中,我们将深入探讨Netty中的进制转换和字符编码,并提供解决方案。 ...
Linux 操作系统中,中文乱码问题是一个常见的问题,它是由系统集成的字符集引起的。由于不能正确地使用相对应字符的字符集,因此 OS 不能识别出文字,导致了乱码。解决这个问题的方法并不难,只需要正确地设置语言...