台灣最大程式設計社群網站
線上人數
907
 
會員總數:246202
討論主題:189774
歡迎您免費加入會員
討論區列表 >> PHP >> fopen用法 txt轉存csv
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
fopen用法 txt轉存csv
價值 : 50 QP  點閱數:10364 回應數:17
樓主

思惟
初學者
15 25
432 52
發送站內信

我需要把MYSQL裡面的資料匯出成csv檔
但是存出來的csv檔,所有中文字會變亂碼
而匯出成txt檔的話,可以正常顯示中文
所以我想先存成txt再將txt轉存為csv
但是我不太懂語法,請問有沒有人能幫我看看,我該如何寫才正確

!


我csv檔裡面只存了一個Resource id #8
拜託有沒有人知道怎麼做 拜託教我

另外,是否有辦法直接存成csv檔不會變亂碼的方法?我用的編碼是utf-8
謝謝幫忙

搜尋相關Tags的文章: [ fopen ] , [ csv ] , [ CSV ] , [ 編碼 ] , [ 轉檔 ] ,
本篇文章發表於2007-11-07 16:51
1樓
回應

Terry
捐贈 VP 給 Terry 檢舉此回應
你也很見鬼呢, 既然是UTF-8 的csv 檔, 就CSV 啊, 他import 回去MYSQL 時, 只要都是UTF-8 就好啦,
為何非得要讓你看得見中文字才算呢?
再說, 你看不到中文字是因為你的editor 或viewer 無法處理UTF-8 的檔案而已.
何苦自找麻煩
本篇文章回覆於2007-11-07 16:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

思惟
檢舉此回應
Terry 你說的意思我不太懂 什麼是(既然是UTF-8 的csv 檔, 就CSV 啊)??
我存到MYSQL可以正常顯示中文啊
在IE上也能正常顯示中文啊
但是匯出成CSV檔以後會變成EX:?唳眾?頝?畾25??璅?
我覺得是編碼的問題...
本篇文章回覆於2007-11-07 17:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

那顆爛蔥
捐贈 VP 給 那顆爛蔥 檢舉此回應
請問您是用什麼軟體開那個CSV檔案- -?
IE上能顯示中文又是在哪邊看到是中文?
MySQL又是在什麼環境下是顯示中文??
要不要弄個CSV檔案讓大家看一下?
本篇文章回覆於2007-11-07 17:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

思惟
檢舉此回應
我用Editplus寫php啊
IE上面讀取MYSQL的資料是中文的
MYSQL我是用phpmyadmin(裡面也是中文)編碼為utf8_unicode_ci

CSV檔裡面大概長這樣
瘥?
??蝢???蝢???蝢?
??
撠?銋?

而txt檔裡面長這樣
毛毛,王美美,劉小花,糖果妹
本篇文章回覆於2007-11-07 17:56
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
不錯的參考

Terry
捐贈 VP 給 Terry 檢舉此回應
我不是講了嗎?
是你的EDITOR 無法正確的讀取UTF-8 的file( CSV file )
所以你看到是亂碼.
本篇文章回覆於2007-11-07 17:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

思惟
檢舉此回應
那請問有辦法將能存中文字的txt檔轉存為csv檔嗎??
本篇文章回覆於2007-11-07 18:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

Terry
捐贈 VP 給 Terry 檢舉此回應
你的txt 檔不就是csv 格式了嗎? 不就用逗號來分隔了?
本篇文章回覆於2007-11-07 22:10
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
不錯的參考

weiye
檢舉此回應
我以前也有遇到類似的問題,如果你一定要用csv輸出的話,可以試試用iconv轉成big5碼,應該就沒問題,我以前用的時候是ok的
本篇文章回覆於2007-11-08 09:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

那顆爛蔥
捐贈 VP 給 那顆爛蔥 檢舉此回應
麻煩,來個CSV及TXT的Sample檔
我一直覺得你一直在TXT跟CSV的文字上面繞
也不知道你到底是用什麼東西匯出
基本上,就算一模一樣的檔案內容,會因為不同的副檔名,可能有不同的效果
講得不清不楚,麻煩一下自己用檔案比對方式看看兩個檔案到底一不一樣
你以為把.CSV改檔名成.TXT就解決了問題了嗎?
本篇文章回覆於2007-11-08 10:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
不錯的參考

溫子
捐贈 VP 給 溫子 檢舉此回應
請樓主提供以下資訊

1.匯出工具 & 匯出指令.
2.作業系統環境.

Editplus 曾經讓溫子在 UTF-8 環境栽了一次,從此以後不再使用 Editplus 做為開發工具,
不知道樓主是不是也一樣也栽在同一個點上...
本篇文章回覆於2007-11-08 14:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
最有價值解答

貓先生
捐贈 VP 給 貓先生 檢舉此回應
用別種文字編輯軟體開開看你的CVS檔 看還會不會亂碼 不要用Editplus 這東西常常無法正確顯示中文
本篇文章回覆於2007-11-08 14:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
作者回應

思惟
檢舉此回應
Editplus真的很奇怪,我用Editplus儲存編碼格式為UTF-8,但是瀏覽網頁,他自動編碼一直給選big5,
之後我開txt文字檔儲存編碼為UTF-8才可以正常瀏覽網頁QQ

另外 我發問的問題 已經自己解決了
我來講一下我卡在哪裡,是怎麼解決的,

以下是我匯出CSV的程式碼


貼出來供大家參考,也很謝謝各位熱心的幫助!
本篇文章回覆於2007-11-09 17:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
不錯的參考

那顆爛蔥
捐贈 VP 給 那顆爛蔥 檢舉此回應
從頭到尾都沒人知道你怎麼弄出.txt的..如果知道是單純透過php去讀資料庫出來,然後產生csv...
這個問題早就解決了 Orz
另外,你寫網頁的部份,沒有那個習慣去宣告編碼
不然,不會因為一套編輯軟體搞死你自己
本篇文章回覆於2007-11-09 19:27
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
14樓
作者回應

思惟
檢舉此回應
這不是php討論版嗎?
如果不是用php寫,我為什麼要跑來這問啊= =+
要弄出.txt很簡單啊只要把副檔名.csv改成.txt就好啦
另外編輯軟體跟有沒有去宣告編碼沒有關係,
是編輯軟體有問題!!我已經把編碼設為UTF-8了可是還是會出現亂碼~
用記事本就不會有這類的問題~
本篇文章回覆於2007-11-12 14:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
15樓
回應

溫子
捐贈 VP 給 溫子 檢舉此回應
那是你認為編輯器沒有關係,如果你繼續堅持在這邊打轉,
誰能幫的了你~~~

本篇文章回覆於2007-11-12 18:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   

回覆
如要回應,請先登入.