作者 主題: 請教UTF-8格式的存檔  (閱讀 6180 次)

0 會員 與 1 訪客 正在閱讀本文。

joeyhsy

  • 活潑的大學生
  • ***
  • 文章數: 290
    • 檢視個人資料
請教UTF-8格式的存檔
« 於: 2005-02-16 05:38 »
代碼: [選擇]
$fp=fopen("data.xml","w");
fputs($fp,$body,strlen($body));
fclose($fp);

我把做好的data.xml下載後, 用notepad打開檢查, 發現data.xml的編碼是ANSI,
請問應該怎麼做成UTF-8的編碼??

(請不要告訴我用notepad轉存, 謝謝!!)

CapriSkye

  • 懷疑的國中生
  • **
  • 文章數: 38
    • 檢視個人資料
    • http://www.capriskye.com
請教UTF-8格式的存檔
« 回覆 #1 於: 2005-02-17 19:16 »
我記得xml檔案好像是用utf-8....
你有用其他的軟體打開看看嗎?
url=http://open.38.com]綠光森林[/url]
魔,羯默語

wilson

  • 俺是博士!
  • *****
  • 文章數: 1821
  • 帥氣柴老大
    • 檢視個人資料
Re: 請教UTF-8格式的存檔
« 回覆 #2 於: 2005-02-17 19:21 »
引述: "joeyhsy"
代碼: [選擇]
$fp=fopen("data.xml","w");
fputs($fp,$body,strlen($body));
fclose($fp);

我把做好的data.xml下載後, 用notepad打開檢查, 發現data.xml的編碼是ANSI,
請問應該怎麼做成UTF-8的編碼??

(請不要告訴我用notepad轉存, 謝謝!!)


是不是要用支援UTF-8編碼的編輯器來開?

像 vi or editplus 之類的...

CapriSkye

  • 懷疑的國中生
  • **
  • 文章數: 38
    • 檢視個人資料
    • http://www.capriskye.com
請教UTF-8格式的存檔
« 回覆 #3 於: 2005-02-17 20:14 »
可以試試看 emeditor, 不錯用
url=http://open.38.com]綠光森林[/url]
魔,羯默語

joeyhsy

  • 活潑的大學生
  • ***
  • 文章數: 290
    • 檢視個人資料
請教UTF-8格式的存檔
« 回覆 #4 於: 2005-02-18 00:17 »
謝謝各位學長的回覆 !!
我寫這個xml檔是要給Adobe Illustrator用的, php產生的xml檔
用windows的記事本(notepad)打開後, 可以在存檔時看到原來的編碼選項,
編碼是ANSI, 可是我把這個php產生的xml檔匯入Adobe Illustrator時,
它告訴我"不明錯誤", 於是我把這個php產生的xml檔打開手動轉存成UTF-8
編碼, Adobe Illustrator就接受了, so...
我想問的是:如何在php產生xml檔時, 檔案的編碼就是UTF-8,
而不用再用其它編輯器打開後另存UTF-8, 謝謝 !!

以下是我用php產生的xml檔, 請幫我看看..
php產生的xml檔下載

kiang

  • 活潑的大學生
  • ***
  • 文章數: 310
    • 檢視個人資料
    • 就這間電腦工作室
請教UTF-8格式的存檔
« 回覆 #5 於: 2005-02-18 00:34 »
可以在檔案的開頭加上UTF-8的BOM(Byte Order Mark)識別字元,請用ASCII方式寫入下面三個位元試試:

EF BB BF
****************************************************
Finjon Kiang / 江明宗
Just This Computer Studio / 就這間電腦工作室
Website: http://olc.tw
****************************************************

duan

  • 榮譽博士
  • 活潑的大學生
  • ***
  • 文章數: 253
    • 檢視個人資料
請教UTF-8格式的存檔
« 回覆 #6 於: 2005-02-18 10:39 »
引述: "joeyhsy"

我寫這個xml檔是要給Adobe Illustrator用的, php產生的xml檔
用windows的記事本(notepad)打開後, 可以在存檔時看到原來的編碼選項,
編碼是ANSI


請問您是如何用 php 來產生 xml 場的?  是使用 xml 系列函數嗎?
http://www.php.net/manual/en/ref.xml.php

如果是, 這系列函數有提供在產生 xml 時指定編碼的方式. 不好
意思, 很久沒用了, 可能要麻煩您自己查查看相關範例   :)

供您參考.   :)

duan

  • 榮譽博士
  • 活潑的大學生
  • ***
  • 文章數: 253
    • 檢視個人資料
請教UTF-8格式的存檔
« 回覆 #7 於: 2005-02-18 10:41 »
引述: "duan"

如果是, 這系列函數有提供在產生 xml 時指定編碼的方式. 不好
意思, 很久沒用了, 可能要麻煩您自己查查看相關範例   :)


剛剛正好看到了, 在該頁下方有範例, 可以用 utf8 搜尋找到.

// declare the character set - UTF-8 is the default
$type = 'UTF-8';

// create our parser
$xml_parser = xml_parser_create($type);

供您參考  :)

joeyhsy

  • 活潑的大學生
  • ***
  • 文章數: 290
    • 檢視個人資料
請教UTF-8格式的存檔
« 回覆 #8 於: 2005-02-18 14:39 »
引述: "kiang"
可以在檔案的開頭加上UTF-8的BOM(Byte Order Mark)識別字元,請用ASCII方式寫入下面三個位元試試:

EF BB BF

不好意思, 請教要怎麼在檔案的開頭加上UTF-8的BOM ??

ps.我是用php的filesystem函式寫入檔案(fputs), 完全沒用到xml的函式.

joeyhsy

  • 活潑的大學生
  • ***
  • 文章數: 290
    • 檢視個人資料
請教UTF-8格式的存檔
« 回覆 #9 於: 2005-02-19 04:50 »
已解決...
不須加上BOM, 原來是我忘了將字串編碼成UTF-8了 !!
謝謝各位幫忙 :D