各位大大好
小弟目前碰到一個問題
現在小弟要執行一項流程:
匯入xls檔 -> 將檔案寫入資料庫 -> 將部分資料取出轉成txt檔
檔案之中包含中文
由於最後的txt檔編碼需求是Big5
所以小弟對資料寫入資料庫的時候做了一些處理
像這樣
$val = mb_convert_encoding($val,"BIG5","UTF-8");
寫入資料庫的時候 資料庫的校正也是設定為big5_chinese_ci
此時中文顯示也是正常的
但在要進行轉txt檔的時候我碰到了問題
我先在檔案前面設定
mysql_query( "SET NAMES big5", $link );
mysql_query( "SET CHARACTER_SET_CLIENT=big5", $link );
mysql_query( "SET CHARACTER_SET_RESULTS=big5", $link );
但發現我資料抓出來會有問題會呈現一堆問號
用 mb_detect_encoding($ra2[pay_name]) //資料庫中的名字
輸出顯示是ASCII
我不懂為什麼會莫名出現ASCII
那這樣我應該怎麼進行轉換
因為我也找不到ASCII 轉成big5的方法QQ
為什麼不在寫入txt的時後再轉big 5 ?
我的經驗....(mysql)
雖然您把資料庫的校正是設定為big5_chinese_ci,但已存在的欄位並不會改變,只有在新增的欄位才會是您指定的編碼,先前存在的欄位還是utf8,除非您手動一個一個現有的欄位改成big5...
2.您用的是 mysql_query 還是 mysql i _query ??
若您用mysqli來存取資料,設定就別用mysql_query ~~