求java转码ISO-8859-1转UTF-8汉字显示不全 补救方案
当需要转换的汉字个数为奇数时,末位转为?号急求解!通过JS传递的中文参数是采用ISO-8859-1编码方式我需要再写入数据库的时候还原为汉字,可以使用gbk或者UTF-8...
当需要转换的汉字个数为奇数时,末位转为?号
急求解!
通过JS传递的 中文参数 是采用ISO-8859-1编码方式
我需要再写入数据库的时候还原为汉字,可以使用gbk或者UTF-8,
但是,采用GBK的话还是乱码,
转换为UTF-8的时候奇数个中文汉字会出现末位缺失,
str = new String(str.getBytes("iso-8859-1"), "gbk"); 已用过,显示依然为乱码
使用str = new String(str.getBytes("iso-8859-1"), "utf-8");可以显示汉字但就是是出现上述问题(末位缺失) 展开
急求解!
通过JS传递的 中文参数 是采用ISO-8859-1编码方式
我需要再写入数据库的时候还原为汉字,可以使用gbk或者UTF-8,
但是,采用GBK的话还是乱码,
转换为UTF-8的时候奇数个中文汉字会出现末位缺失,
str = new String(str.getBytes("iso-8859-1"), "gbk"); 已用过,显示依然为乱码
使用str = new String(str.getBytes("iso-8859-1"), "utf-8");可以显示汉字但就是是出现上述问题(末位缺失) 展开
6个回答
展开全部
给你写个过滤器。你试试。
public class ChStr {
public static String toChinese(String strvalue) {
try {
if (strvalue == null) {
return "";
} else {
strvalue = new String(strvalue.getBytes("ISO8859_1"), "GBK").trim();
return strvalue;
}
} catch (Exception e) {
return "";
}
}
//处理字符串中的空值
public static final String nullToString(String v, String toV) {
if (v == null || "".equals(v)) {
v = toV;
}
return v;
}
}
public class ChStr {
public static String toChinese(String strvalue) {
try {
if (strvalue == null) {
return "";
} else {
strvalue = new String(strvalue.getBytes("ISO8859_1"), "GBK").trim();
return strvalue;
}
} catch (Exception e) {
return "";
}
}
//处理字符串中的空值
public static final String nullToString(String v, String toV) {
if (v == null || "".equals(v)) {
v = toV;
}
return v;
}
}
展开全部
呵呵,乱码确实比较常见,不足为奇.。
您的网页中文占多数推荐用GBK;
如果英文的比例比中文多,用UTF-8;
您要把<%@ page language="java" import="java.util.*" pageEncoding="GBK" Context="text/html;charset="GBK" %>
设置成GBK,或者UTF-8 ,还有一种GB2312; 任意一中编码格式都可以.。
请问你是什么提交方式 ,如果是get的话,用这种转码: String str=new String(str.getByte("ISO-8859-1"),"GBK");
如果你是post提交方式用 request.setcharactorEncodding("GBK");
您的网页中文占多数推荐用GBK;
如果英文的比例比中文多,用UTF-8;
您要把<%@ page language="java" import="java.util.*" pageEncoding="GBK" Context="text/html;charset="GBK" %>
设置成GBK,或者UTF-8 ,还有一种GB2312; 任意一中编码格式都可以.。
请问你是什么提交方式 ,如果是get的话,用这种转码: String str=new String(str.getByte("ISO-8859-1"),"GBK");
如果你是post提交方式用 request.setcharactorEncodding("GBK");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以对含中文的字符串进行转码
例如:有个String类型变量str,含中文,试用方法
str = new String(str.getBytes("iso-8859-1"), "gbk");
这样返回得到的str就不会有乱码问题了
例如:有个String类型变量str,含中文,试用方法
str = new String(str.getBytes("iso-8859-1"), "gbk");
这样返回得到的str就不会有乱码问题了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java中 iso-8859-1 转utf-8汉字显示不全,一般是网络数据传输,比如两个工程之间,或者前台页面传到后台造成的,建议URLEncoder,URLDecoder可有效解决,如果还不行,直接使用base64
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、在application.properties中的url中加入“useUnicode=true&characterEncoding=utf-8”,如:jdbc.url=jdbc:log4jdbc:mysql://localhost:3306/sql?useUnicode=true&characterEncoding=utf-8;
2、jsp页面加入: <%@ page contentType="text/html;charset=UTF-8"%>
2、jsp页面加入: <%@ page contentType="text/html;charset=UTF-8"%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询