所以我想先判断我接收的字符串是属于哪种字符集类型的。
请问这个问题怎么解决!
谢谢!
10 个解决方案
#1
http://community.csdn.net/Expert/topic/3384/3384597.xml?temp=.6685144
#2
不是这个意思,我的意思是判断这个字符串是属于哪种字符集。如果是GB2312我就不转了。
谢谢!
谢谢!
#3
呵呵,帮顶
#4
如果没有指定request的编码方式,客户端接受到的参数的名字和参数值都是以iso-8859-1编码的String。
这是服务器的默认处理。也就是说如果你在requestr.getParameter()之前没有指定request的编码方式,那么取出来的肯定是iso-8859-1编码格式的字符串了,这样还需要判断是什么字符集类型么??
但凭一个string好像判断不出来什么编码格式的。
这是服务器的默认处理。也就是说如果你在requestr.getParameter()之前没有指定request的编码方式,那么取出来的肯定是iso-8859-1编码格式的字符串了,这样还需要判断是什么字符集类型么??
但凭一个string好像判断不出来什么编码格式的。
#5
gz
#6
观注ing
#7
凭一个string判断不出是什么编码格式的
#8
你不必判断字符集,正如: d992901(沉思) 所说,没有指定request的字符集时都是ISO-8859-1编码的,所以你全部用以下方法转换成GB2312就可以了:
String aa="汉字";
aa=new String(aa.getBytes("ISO-8859-1"),"GB2312");
String aa="汉字";
aa=new String(aa.getBytes("ISO-8859-1"),"GB2312");
#9
同意楼上的
#10
我觉得大家好像没有明白我的意思,我的目的就是想看一个String是采用什么样的编码类型!
我做了一个简单的程序但有时不好用
//字符类型转换UTF8 TO GB2312
public String UTFToGB(String value){
StringBuffer sb=new StringBuffer();
try{
byte b[]=value.getBytes("8859_1");
for(int j=0;j<b.length;j++){
sb.append(b[j]);
}
if(sb.toString().indexOf("-")!=-1){
value=new String(value.getBytes("8859_1"),"GB2312");
}
}catch(java.io.UnsupportedEncodingException e){
}
return value;
}
请问大家是不是有更好的办法,我觉得应该能做到的谢谢!
我做了一个简单的程序但有时不好用
//字符类型转换UTF8 TO GB2312
public String UTFToGB(String value){
StringBuffer sb=new StringBuffer();
try{
byte b[]=value.getBytes("8859_1");
for(int j=0;j<b.length;j++){
sb.append(b[j]);
}
if(sb.toString().indexOf("-")!=-1){
value=new String(value.getBytes("8859_1"),"GB2312");
}
}catch(java.io.UnsupportedEncodingException e){
}
return value;
}
请问大家是不是有更好的办法,我觉得应该能做到的谢谢!
#1
http://community.csdn.net/Expert/topic/3384/3384597.xml?temp=.6685144
#2
不是这个意思,我的意思是判断这个字符串是属于哪种字符集。如果是GB2312我就不转了。
谢谢!
谢谢!
#3
呵呵,帮顶
#4
如果没有指定request的编码方式,客户端接受到的参数的名字和参数值都是以iso-8859-1编码的String。
这是服务器的默认处理。也就是说如果你在requestr.getParameter()之前没有指定request的编码方式,那么取出来的肯定是iso-8859-1编码格式的字符串了,这样还需要判断是什么字符集类型么??
但凭一个string好像判断不出来什么编码格式的。
这是服务器的默认处理。也就是说如果你在requestr.getParameter()之前没有指定request的编码方式,那么取出来的肯定是iso-8859-1编码格式的字符串了,这样还需要判断是什么字符集类型么??
但凭一个string好像判断不出来什么编码格式的。
#5
gz
#6
观注ing
#7
凭一个string判断不出是什么编码格式的
#8
你不必判断字符集,正如: d992901(沉思) 所说,没有指定request的字符集时都是ISO-8859-1编码的,所以你全部用以下方法转换成GB2312就可以了:
String aa="汉字";
aa=new String(aa.getBytes("ISO-8859-1"),"GB2312");
String aa="汉字";
aa=new String(aa.getBytes("ISO-8859-1"),"GB2312");
#9
同意楼上的
#10
我觉得大家好像没有明白我的意思,我的目的就是想看一个String是采用什么样的编码类型!
我做了一个简单的程序但有时不好用
//字符类型转换UTF8 TO GB2312
public String UTFToGB(String value){
StringBuffer sb=new StringBuffer();
try{
byte b[]=value.getBytes("8859_1");
for(int j=0;j<b.length;j++){
sb.append(b[j]);
}
if(sb.toString().indexOf("-")!=-1){
value=new String(value.getBytes("8859_1"),"GB2312");
}
}catch(java.io.UnsupportedEncodingException e){
}
return value;
}
请问大家是不是有更好的办法,我觉得应该能做到的谢谢!
我做了一个简单的程序但有时不好用
//字符类型转换UTF8 TO GB2312
public String UTFToGB(String value){
StringBuffer sb=new StringBuffer();
try{
byte b[]=value.getBytes("8859_1");
for(int j=0;j<b.length;j++){
sb.append(b[j]);
}
if(sb.toString().indexOf("-")!=-1){
value=new String(value.getBytes("8859_1"),"GB2312");
}
}catch(java.io.UnsupportedEncodingException e){
}
return value;
}
请问大家是不是有更好的办法,我觉得应该能做到的谢谢!