Weirdo
搜尋怪問題

問題

字元怪事2026年8月21日

全形空白在網頁上看不見,為什麼程式會當成一個字?

UnicodeU+3000

詳細說明

它是真的字元,只是畫成一塊空

Unicode 字符名清單把 U+3000 定名為 IDEOGRAPHIC SPACE,並注明它相容於 U+0020 SPACE。第 6 章寫得很直:意音文字裡常用 U+3000,因為寬度跟意音文字相符。East Asian Width 資料檔把它標為 F(Fullwidth)。網頁上你看到的是一格漢字寬的空白,不是「沒有字」。2

程式按碼點數,不按你的眼睛

字串長度、JSON 字串、資料庫欄位都把 U+3000 當一個字元。URL 裡它會被編碼成 %E3%80%80,不是普通空白的 %20。比對、搜尋、驗證若只剔 ASCII 0x20,就會漏掉這個全形空白。要消掉它,得明確處理 U+3000,不能只 trim 半形空白。3

也有人這樣問

全形空白、U+3000、ideographic space、全形空白看不到