重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
問題描述不知道是不是需要改這個:
網站建設哪家好,找創新互聯公司!專注于網頁設計、網站建設、微信開發、小程序制作、集團企業網站建設等服務項目。為回饋新老客戶創新互聯還提供了永興免費建站歡迎大家使用!
文件編碼轉換方法:ant
build.xml
代碼
project name="encoding" default="build"
target name="build"
copy todir="e:/output" outputencoding="GBK"
fileset dir="."
include name="**/*.html"/
/fileset
/copy
/target
/project
先把源代碼全部用GBK格式拷貝到e:/output,然后再把output中的所有文件拷貝到原先的地方就可以。
html內容顯示編碼:
meta http-equiv="content-type" content="text/html; charset=“utf-8" /
從
字節流
轉換為String
(Unicode),字節流可以是GB系列、UTF-8等多種編碼:
ResultSet
rs;
bytep[]
bytes
=
rs.getBytes();
String
str
=
new
String(bytes,
"
gb2312
");
import?java.io.BufferedReader;
import?java.io.BufferedWriter;
import?java.io.File;
import?java.io.FileInputStream;
import?java.io.FileOutputStream;
import?java.io.IOException;
import?java.io.InputStreamReader;
import?java.io.OutputStreamWriter;
import?java.nio.charset.Charset;
public?class?gbk2utf8?{
public?static?void?main(String[]?args)?throws?InterruptedException,?IOException?{
gbk2utf8?tt?=?new?gbk2utf8();
tt.copyAll("E:\\mine\\GitHub\\mytest\\myJar\\src",?"E:/test");
}
public?void?copyAll(String?dir,String?des)?throws?IOException{
File?parent?=?new?File(dir);
System.err.println(parent.getAbsolutePath());
String[]?allFile?=?parent.list();
for?(String?string?:?allFile)?{
File?file?=?new?File(dir+"/"+string);
if(file.isFile()){
this.copy(file,des);
}else{
File?newDes?=?new?File(des+"/"+string);
if(!newDes.exists())?newDes.mkdir();
this.copyAll(dir+"/"+string,des+"/"+string);
}
}
}
public?void?copy(File?file,String?des)?throws?IOException{
BufferedReader?br?=?new?BufferedReader(new?InputStreamReader(
new?FileInputStream(file),?Charset.forName("gbk")));
BufferedWriter?bw?=?new?BufferedWriter(new?OutputStreamWriter(
new?FileOutputStream(des+"/"+file.getName()),?Charset.forName("UTF-8")));
String?lineTxt?=?null;
while?((lineTxt?=?br.readLine())?!=?null)?{
bw.write(lineTxt);
bw.newLine();
}
bw.flush();
bw.close();
br.close();
}
}
文件編碼轉換方法:ant
build.xml
代碼
project name="encoding" default="build"
target name="build"
copy todir="e:/output" outputencoding="GBK"
fileset dir="."
include name="**/*.html"/
/fileset
/copy
/target
/project
先把源代碼全部用GBK格式拷貝到e:/output,然后再把output中的所有文件拷貝到原先的地方就可以。
html內容顯示編碼:
meta http-equiv="content-type" content="text/html; charset=“utf-8" /
Java中字符串轉碼,根據實際運用的環境有以下三種方式
1、使用Java.lang.String
這是最常用的方法,先用對應編碼獲取字節,然后重新構造新編碼,示例代碼如下:
String?s?=?"清山";??
byte[]?b?=?s.getBytes("utf-8");//編碼??
String?sa?=?new?String(b,?"gb2312");//解碼:用什么字符集編碼就用什么字符集解碼
2、java.io.InputStreamReader/OutputStreamWriter:橋轉換
讀寫文件的應用中,可以使用這種方式,直接在IO流構造中轉換,示例代碼如下:
InputStream?is?=?new?FileInputStream("C:/項目進度跟蹤.txt");//文件讀取??
InputStreamReader?isr?=?new?InputStreamReader(is,?"utf-8");//解碼??
OutputStream?os?=?new?FileOutputStream("C:/項目進度跟蹤_gb2312.txt");//文件輸出??
OutputStreamWriter?osw?=?new?OutputStreamWriter(os,?"gb2312");//開始編碼
3、java.nio.Charset
使用nio中的Charset轉換字符,示例代碼如下:
Charset?inSet?=?Charset.forName("utf-8");??//?解碼字符集?
Charset?outSet?=?Charset.forName("gb2312");??//?編碼字符集??
CharsetDecoder?de?=?inSet.newDecoder();??//?解碼器
CharsetEncoder?en?=?outSet.newEncoder();//?編碼
不寫代碼的話可以直接找個批量轉換文本編碼的軟件搞定。
寫代碼稍微復雜一些。
新建一個目錄
遍歷遞歸原工程目錄,以gbk編碼讀取,以utf8編碼寫文件到新的目錄下即可。
手動重命名工程為 工程備份
手動重命名新目錄為 工程名
檢查無誤后刪除工程備份