台灣最大程式設計社群網站
線上人數
1281
 
會員總數:246690
討論主題:190103
歡迎您免費加入會員
討論區列表 >> PHP >> iconv的錯誤問題
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
iconv的錯誤問題
價值 : 100 QP  點閱數:966 回應數:4
樓主

迷路
高級專家
11376 140
8259 1754
發送站內信

捐贈 VP 給 迷路
網站搬移時發生的問題
在舊主機時,iconv()的IGNORE可以正常的運作,但是搬到新主機時卻會發生錯誤並中斷
以下是測試

某些特殊字元(通常是生僻字)和簡體字會導致錯誤發生並中斷
錯誤訊息如下:
Notice: iconv(): Detected an illegal character in input string

但是//IGNORE應該可以阻止中斷,跳過無法轉換的字元繼續執行才對
雖然更換mb_convert_encoding函數可以解決
但還是想請問有人知道原因嗎?
同樣的測試在舊主機就能正常執行
感覺應該是主機的設定或是版本導致的問題

搜尋相關Tags的文章: [ iconv ] , [ ignore ] ,
本篇文章發表於2020-12-29 11:51
1樓
最有價值解答

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
iconv其實是早該棄用了。

IGNORE之前我的理解的確跟你一樣。最多就是不要出現空白。
可是那是指找不到字的情況。

但在找到字發生不正常的情況。很常發生。
由其是針對big5這一個所謂的bug5。

就很常讓iconv掛掉。

我其實很久前就有遇過了。也早就棄用了。
後期考量效能問題,還是左寫個try來相對應處理。

現在則不會在使用big5編碼了。
本篇文章回覆於2020-12-29 14:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

迷路
捐贈 VP 給 迷路 檢舉此回應
是的
我基本也是不使用iconv和big5
無奈這是接手舊網站
功能又是需要輸出excel的檔案,所以必須用big5
最讓我納悶的是同樣的字在不同主機上出現不同的結果
本篇文章回覆於2020-12-29 16:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
excel如果是舊版的我不敢說。
但新版至少2010以上的樣子的,好像可以輸出utf8了。

以前我就被boss要求。excel字都要出現。
我靠!!big5缺字怎麼給他出現啊。

幸好後來改換成html輸出頁處理。要不然還真的死給他看。
本篇文章回覆於2020-12-30 15:56
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

迷路
捐贈 VP 給 迷路 檢舉此回應
最後還是只能乖乖地把函數替換掉
那台舊主機確實神奇
上面有一堆擺明了會出錯誤的語法都能正常執行
難道有甚麼設定是能讓每行程式自帶@開頭的效果嗎?
本篇文章回覆於2021-01-04 08:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

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