如果只是为了页面的显示,用GBK 在页面显示,ISO-8859-1 存在数据库就够了,但如果想最终解决它,要用Unicode才行,本人的一个项目由于要用java ,c++,linux,简体,繁体,英文 协作才能完成,但只是在页面显示正确是不能很好的协同工作,只有用unicode 才能根本解决
java 代码如下:
package com.c.elmer.util.string;
public class PropertiesTranslater {
public static void main(String[] args) {
System.out.println("g2u:"+new PropertiesTranslater().GBK2Unicode("简繁 测试"));
System.out.println("u2g:"+new PropertiesTranslater().Unicode2GBK("\\u4e2d\\u570basdf\\u4eba\\u5730\\u53d1,\\u4e8e\\u593a\\u7395\\u5730"));
}
/**
* 中文转unicode
* @param str
*
* @return 反回unicode编码
*/
public static String GBK2Unicode(String str) {
StringBuffer result = new StringBuffer();
for (int i = 0; i < str.length(); i++) {
char chr1 = (char) str.charAt(i);
if (!PropertiesTranslater.isNeedConvert(chr1)) {
result.append(chr1);
continue;
}
result.append("\\u" + Integer.toHexString((int) chr1));
}
return result.toString();
}
/**
*
* unicode转中文
* @param str
*
* @return 中文
*
*/
public static String Unicode2GBK(String dataStr) {
int index = 0;
StringBuffer buffer = new StringBuffer();
while (index < dataStr.length()) {
if (!"\\u".equals(dataStr.substring(index, index + 2))) {
buffer.append(dataStr.charAt(index));
index++;
continue;
}
String charStr = "";
charStr = dataStr.substring(index + 2, index + 6);
char letter = (char) Integer.parseInt(charStr, 16);
buffer.append(letter);
index += 6;
}
return buffer.toString();
}
public static boolean isNeedConvert(char para) {
return ((para & (0x00FF)) != para);
}
}
分享到:
相关推荐
Java 中文乱码问题详解 ...要解决乱码问题,我们需要了解 Java 处理字符的原理,并了解编译和运行时的字符编码转换过程。在编译时,需要指定正确的编码类型;在运行时,需要正确地处理字符编码转换,以避免乱码的出现。
解决Java中文乱码问题需要对整个数据流的编码处理有清晰的理解,从源头文件到最终输出的每个环节都要注意编码的一致性。通过细致的排查和设置,大多数乱码问题都能得到解决。 以上内容涵盖了Java编码转换的基本原理...
为了解决这个问题,我们首先要了解字符集和字符编码的相关知识,然后分析字符乱码的原因,并最终找出相应的解决办法。 字符集是字符的集合,它包含了计算机能够处理的文本数据。常见的字符集有ASCII字符集、Unicode...
Struts2是一个流行的Java Web框架,用于构建动态和交互式的Web应用程序。然而,中文乱码问题一直是困扰开发者的一个常见问题,特别是在处理POST和GET请求时。以下是对标题和描述中涉及知识点的详细解释: 1. **...
### Java字符集编码乱码详解 #### 一、编码与乱码基础知识 在计算机科学领域,字符集(Character Set)是指一系列符号和电子通信代码的标准集合。每种字符集都有其特定的应用场景和优势。例如,ASCII(American ...
本篇文章将深入探讨这个问题,并提出一种另类的解决方案——利用JNI(Java Native Interface)进行加密和解密操作来规避乱码问题。 首先,我们需要理解为什么会出现中文乱码。这通常与字符编码有关,Java和JSP默认...
本实例将引导你入门Freemarker,解决在Eclipse环境下使用Java编译时可能出现的乱码问题,并确保使用UTF-8编码方式进行处理。 **1. Freemarker简介** Freemarker是一个基于模板的开源Java库,它与Spring MVC、Struts...
### Eclipse下Properties文件中文乱码解决方案详析 在IT开发领域,尤其是使用Eclipse作为集成开发环境(IDE)的开发者,经常会遇到一个令人头疼的问题——Properties文件中的中文字符出现乱码。这一现象不仅影响...
### Struts乱码解决方法详解 #### 一、引言 在使用Struts框架进行Web应用开发时,可能会遇到字符编码问题导致的数据显示乱码。本文将详细介绍如何解决Struts项目中的乱码问题,帮助开发者确保数据正确无误地显示。...
在处理Java中的中文问题时,关键在于确保各个阶段的编码一致性:从源文件创建、编译、运行到最终输出。通过正确配置编码格式,可以有效避免乱码问题,保证中文字符的正确显示。同时,对于不同的应用场景(如控制台...
### JSP存到数据库乱码解决办法 在Java Web开发中,尤其是使用JSP技术时,经常遇到的一个问题就是字符编码的问题。当我们将中文等非ASCII字符的数据存储到数据库时,经常会遇到乱码的情况。这主要是因为不同系统、...
为了有效避免乱码问题,我们需要确保从数据源到最终展示的各个环节字符编码保持一致,并且正确配置JSP页面的相关属性。对于MySQL数据库中的乱码问题,也需要对数据库连接、表字段的字符集进行仔细检查,并在前端和...
描述中的链接指向了一篇博客文章,虽然具体内容没有提供,但通常这类文章会详细阐述作者遇到的具体问题、尝试的解决方案以及最终的修复方法。可能包括代码示例、错误日志分析等。 标签中的“源码”可能暗示了解决...
### AJAX传递中文参数乱码解决办法 在Web开发过程中,数据传输是不可或缺的一部分,而AJAX作为一种无需重新加载整个页面的情况下就能与服务器交换数据的技术,被广泛应用于动态数据交互场景中。然而,在处理中文等...
### Struts2.1.6解决乱码问题详解 在Web开发中,字符编码问题一直是个头疼的问题,尤其是在处理中文等多字节字符时。Struts2作为一个流行的Java Web框架,同样面临着这样的挑战。本文将深入探讨如何在Struts2.1.6...
以下是一些解决Java POST与GET数据传递时中文乱码问题的方法。 1. **POST数据传递**: 在接收POST数据的JSP页面中,我们需要确保两个关键点: - **声明页面字符集**:`<%@ page pageEncoding="UTF-8"%>` 这行...
最终,通过重新应用方法1,开发者找到了解决方案。在实际的代码实现中,JSP页面应当设置正确的编码,并在获取请求参数后,使用ISO-8859-1转UTF-8的方法处理字符串。 在实际开发中,解决乱码问题不仅需要理解字符...
在实际开发中,解决中文乱码问题的关键是确保从源文件编码到数据库存储,再到服务器处理以及最终在浏览器端展示的整个过程中,统一使用相同的字符编码。在某些情况下,还需要在数据传输时明确指定字符编码,例如通过...