[請益] 寫入txt檔,編碼ansi[已解決]

看板PHP作者 (聯盟GG)時間10年前 (2015/10/06 12:01), 10年前編輯推噓4(4015)
留言19則, 4人參與, 最新討論串1/1
各位前輩好,小弟不懂來請教各位 目前寫了一支小程式是從資料庫撈資料 然後寫入記事本(.txt),但是編碼要求需要使用ansi 但是卡在寫入資料後看編碼還是utf-8 想請教需要如何宣告寫入時要用ansi編碼 或者如何產生ansi編碼的記事本 使用的架構是yii ---------------- $sql = " SELECT * FROM table " . " WHERE num = '1' " . " ORDER BY id "; $sql = iconv("UTF-8","big5//IGNORE",$sql); 請問rock大是這樣寫嗎? ----- Sent from JPTT on my HTC One SV. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.249.143.208 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1444104071.A.9E0.html

10/06 12:26, , 1F
先iconv再寫
10/06 12:26, 1F

10/06 12:28, , 2F
基本上PHP收到啥就寫啥 所以先要將原本收到的UTF8轉
10/06 12:28, 2F

10/06 12:29, , 3F
成類似BIG5這種Charset 但要注意BIG5字符集較小
10/06 12:29, 3F

10/06 12:29, , 4F
並非所有UTF8字符都能轉成BIG5 所以若果能配合的話
10/06 12:29, 4F

10/06 12:30, , 5F
還是存UTF8文字檔比較好
10/06 12:30, 5F

10/06 16:38, , 6F
請問moon 大,是在資料撈出來的時候宣告嗎? 還是fwrite的時
10/06 16:38, 6F

10/06 16:38, , 7F
候?
10/06 16:38, 7F

10/06 16:39, , 8F
rock大,主要是這程式轉出來的記事本要提供給其他單位使用,
10/06 16:39, 8F

10/06 16:39, , 9F
編碼是對方要求,不然我也不會頭大
10/06 16:39, 9F

10/06 17:28, , 10F
就是把資料庫的資料存在變數內 然後做Iconv
10/06 17:28, 10F

10/06 17:31, , 11F
$str = iconv("UTF-8","big5//IGNORE",$str);
10/06 17:31, 11F

10/06 17:32, , 12F
將str變數內的字符從UTF8轉成BIG5 之後你可以用Y
10/06 17:32, 12F

10/06 17:32, , 13F
fwrite寫進文字檔 //IGNORE這個是參數 有了這個在
10/06 17:32, 13F

10/06 17:33, , 14F
iconv途中如果發現無法轉會的字符會忽略 沒有這個參
10/06 17:33, 14F

10/06 17:33, , 15F
數的話中途發生錯誤就會停止
10/06 17:33, 15F

10/06 17:33, , 16F
*轉換
10/06 17:33, 16F
※ 編輯: LMGG (60.249.143.208), 10/06/2015 17:55:59 ※ 編輯: LMGG (60.249.143.208), 10/06/2015 17:57:33

10/06 17:59, , 17F
還是產生utf-8格式。。( ′_ゝ`)
10/06 17:59, 17F

10/07 11:26, , 18F
感謝rock大指導,問題已解決
10/07 11:26, 18F

10/07 11:48, , 19F
個人覺得mb_convert_encoding不錯用...
10/07 11:48, 19F
文章代碼(AID): #1M4qU7dW (PHP)
文章代碼(AID): #1M4qU7dW (PHP)