全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1566
推到 Plurk!
推到 Facebook!

保存文檔為UTF-8的編碼?

尚未結案
SCYANGYU1427
一般會員


發表:1
回覆:14
積分:3
註冊:2002-09-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-02-16 21:16:35 IP:61.171.xxx.xxx 未訂閱
如何保存一個文本文檔,使其編碼為UTF-8?
SCYANGYU1427
一般會員


發表:1
回覆:14
積分:3
註冊:2002-09-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-02-16 21:34:29 IP:61.171.xxx.xxx 未訂閱
以editplus為例,document-->encoding type-->UTF-8,保存文檔,即可把文檔的存儲格式設置為UTF-8。windows的記事本也可以的。 但是,在Delphi編寫的程式中,如何實現?
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-02-16 23:52:33 IP:218.32.xxx.xxx 未訂閱
SCYANGYU1427 你好:    有點土法煉鋼, 參考試試:    
procedure TForm1.Button1Click(Sender: TObject);
var ws:WideString;
    u8:UTF8String;
    f:TFileStream;
    H:array[0..2] of  byte;  // File Header
begin
  H[0] := $EF; H[1] := $BB; H[2] := $BF;
  ws:=memo1.Lines.Text;
  u8 := UTF8Encode(ws);
  f:=TFileStream.Create('c:\dum.txt',fmcreate);
  try
    f.WriteBuffer(H,Sizeof(H));
    f.Write(PAnsiChar(u8)^,length(u8));
  finally
    f.Free;
  end;
end;
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-02-17 00:06:14 IP:220.132.xxx.xxx 未訂閱
請參考這兩篇資料,    http://delphi.ktop.com.tw/topic.php?topic_id=57848 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=46228    然後寫一個這個 function 即可    
function WriteUTF8String2File(filename: string; us: UTF8String):Boolean;
var
  wf: Array[0..2] of Char;
  f: TFileStream;
begin
  Result := false;
  wf[0]:=#$EF;
  wf[1]:=#$BB;
  wf[2]:=#$BF;
  f:= TFileStream.Create(filename, fmCreate);
  try
    f.Write(wf, 3);
    f.Write(PChar(us)^, length(us));
    Result := true;
  finally
    f.Free;
  end;
end;
mickey兄手腳真快, 弟還在回文的時候就 post 出來囉! 厲害哦! 發表人 - timhuang 於 2005/02/17 00:09:44
SCYANGYU1427
一般會員


發表:1
回覆:14
積分:3
註冊:2002-09-09

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-02-17 11:50:41 IP:202.109.xxx.xxx 未訂閱
謝謝兩位先進!
系統時間:2024-04-25 20:39:45
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!