iT邦幫忙

0

php匯出cvs時遇上繁、簡字共存的情況怎麼辦呢?

$Field1 = mb_convert_encoding("繁體", "BIG5", "auto");  
$Field2 = mb_convert_encoding("简体", "BIG5", "auto");  
$Field3 = mb_convert_encoding("简体", "gbk", "auto");  

$content = "\"$Field1\",\"$Field2\",\"$Field3\"\n";

header("Content-type: text/x-csv");
header("Content-Disposition: attachment; filename=god.csv");
 
echo $content;

打出來的結果為

請問這種情況該如何解決呢?

因為遊戲裡有大陸人也有台灣人…就存在繁、簡共存的情況,要匯出cvs時卻遇上簡體字無法正常顯示的情況,真是頭疼…

csv
改用wordpad或是excel開啟就好了
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

4
player
iT邦大師 1 級 ‧ 2015-04-17 20:46:02
最佳解答

你有考慮用UTF8嗎?
CVS檔, 基本上一個檔案只能用一種內碼
如果要繁簡體共存的話
請使用Unicode (通常是用UTF8)

q00153 iT邦新手 3 級 ‧ 2015-04-19 13:46:40 檢舉

推~用UTF-8
excel 可以開啟UTF-8格式的檔案,只是預設是ANSI而已,
不然下載PHP的繁簡轉換套件,大陸使用者就匯出簡體,台灣匯出繁體,
不過在繁->簡沒什麼問題,簡->繁會偶而有轉錯字的問題,
因為很多繁體字轉成簡體後都是同一個字,
不然參考Google 翻譯 AIP,
把內容丟給Google統一轉成繁(簡)體再匯出。

ghyzsing iT邦新手 5 級 ‧ 2015-04-20 13:20:35 檢舉

如果不轉碼直接存UTF8,就會變了亂碼了…

我要發表回答

立即登入回答