看板 PHP 關於我們 聯絡資訊
請問大家是否有遇過因為各國輸入法的不同 而造成空白字元編碼不同的問題? 【問題敘述】 目前在設計的網站需要給來自日本、大陸及台灣的使用者使用 有個搜尋文章的功能, 對方要求必須可以針對"全形"的空白搜尋 但我們在台灣打空白來搜尋都正常但日本那裡卻回報說無法正確搜尋 最後發現的原因是日本那裡打的全形空白跟台灣這裡的全形空白編碼不同 台灣是 A0 2C 日本是 80 40 (於 UltraEdit 切換成 Hex 編輯來確認) 【目前的解決方式】 我們寫了一個 function 去偵測是此全形空白是那種類型 在將他強制轉型成中文的全形空白去搜詢。 function RemoveSpace($key) { //繁和簡中中全形空白 $key = ereg_replace(' ', " ", $key); //日文全形空白(此空白是我們請日本那邊的人打了一個全形空白給我們) $key = ereg_replace(' ', " ", $key); return $key; } 【問題】 由於我們不確定其他語系的國家輸入全形空白是否也會是不同的編碼,想問問看 大家是否有遇過類似的問題以及有什麼更好的解決方式? 先感謝大家的回答 <( __ . __ )> 以上我們的經驗也可以提供給大家參考。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.13.11.114 ※ 編輯: nightmarelee 來自: 163.13.11.114 (01/20 15:39)
LPH66:Unicode? 還有我記得大五碼的全型空白是A1 40... 01/21 00:07
nightmarelee:編碼是 utf-8 所以會有這樣的問題 , 不知有好的解法? 01/21 00:45
ileadu:也只能這樣做了吧... 01/21 12:42
nightmarelee:我在想是不是有更好的轉換方法,可以處理所有的這種情 01/22 04:09
nightmarelee:不需要應用暴力法去比對然後替換... 01/22 04:10