中文文件名转换为UTF8编码的方法.
2005-04-07 20:44
471 查看
/**
* 将文件名中的汉字转为UTF8编码的串,以便下载时能正确显示另存的文件名.
* @param s 原文件名
* @return 重新编码后的文件名
*/
public static String toUtf8String(String s) {
StringBuffer sb = new StringBuffer();
for (int i=0;i<s.length();i++) {
char c = s.charAt(i);
if (c >= 0 && c <= 255) {
sb.append(c);
} else {
byte[] b;
try {
b = Character.toString(c).getBytes("utf-8");
} catch (Exception ex) {
System.out.println(ex);
b = new byte[0];
}
for (int j = 0; j < b.length; j++) {
int k = b[j];
if (k < 0) k += 256;
sb.append("%" + Integer.toHexString(k).
toUpperCase());
}
}
}
return sb.toString();
}
* 将文件名中的汉字转为UTF8编码的串,以便下载时能正确显示另存的文件名.
* @param s 原文件名
* @return 重新编码后的文件名
*/
public static String toUtf8String(String s) {
StringBuffer sb = new StringBuffer();
for (int i=0;i<s.length();i++) {
char c = s.charAt(i);
if (c >= 0 && c <= 255) {
sb.append(c);
} else {
byte[] b;
try {
b = Character.toString(c).getBytes("utf-8");
} catch (Exception ex) {
System.out.println(ex);
b = new byte[0];
}
for (int j = 0; j < b.length; j++) {
int k = b[j];
if (k < 0) k += 256;
sb.append("%" + Integer.toHexString(k).
toUpperCase());
}
}
}
return sb.toString();
}
相关文章推荐
- vi文本编码及其与中文转换的实现方法
- PHP判断字符串编码是否utf8并转换的方法
- 在eclipse中安装properties插件PropertiesEditor及设置(附图),ASCII码转换成中文 安装成功后ASCII还是不能转换成中文的,原因是设置里面没有把编码设置为utf8的
- PHP判断字符串编码是否utf8并转换的方法
- PHP 将Unicode中文编码转换成Utf8中文
- mysql导入导出数据中文乱码解决方法小结(1、navicat导入问题已解决,创建连接后修改连接属性,选择高级->将使用Mysql字符集复选框去掉,下拉框选择GBK->导入sql文件OK;2、phpmyadmin显示乱码的问题也解决,两步:1.将sql文件以utf8的字符集编码另存,2.将文件中sql语句中的字段字符集编码改成utf8,导入OK)
- js unicode 编码解析关于数据转换为中文的两种方法
- js unicode 编码解析关于数据转换为中文的两种方法
- Mysql5 默认用utf8编码却插入不了中文的解决方法(暂时)
- UTF8 编码时 FCKeditor编辑器上传文件时中文文件名解决方案
- js unicode 编码解析关于数据转换为中文的两种方法
- 自动检测文本文件编码是否为GB2312(简体中文),并转换为UTF8编码,附一个GB2312全区对应的utf8编码码表
- PHP判断字符串编码是否utf8并转换的方法
- iOS 中文与UTF8编码之间的相互转换
- 拦截器利用装饰类的对getParameter()和getParameterValues()方法的重写对中文编码的转换
- php自定义函数实现汉字转换utf8编码的方法
- PHP判断字符串编码是否utf8并转换的方法
- (转)XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)(附带解决DHTMLX不能用在GB2312页面编码下的中文问题)
- FTP采用UTF8编码上传文件名中含有奇数个汉字时出错的解决方法