今天發生一個神奇的錯誤!~ 就是建立的資料中,"看起來" 似乎是對的,但是竟然在資料內多了一個 "Zero Width Space"
這是一個用在排版的特殊字元,但是在一般情況就會很慘!因為看起來是對的,實際上卻是錯誤的。
所以就只好在使用者傳入的資料中加上以下的語法來濾掉囉!
// remove zero width space $value = str_replace("\xe2\x80\x8b", '', $value); $value = str_replace("\xe2\x80\x8c", '', $value); $value = str_replace("\xe2\x80\x8d", '', $value);
這三個符號分別是 (參考資料)
Unicode code point |
character | UTF-8 (in literal) |
name |
---|---|---|---|
U+200B | \xe2\x80\x8b | ZERO WIDTH SPACE | |
U+200C | | \xe2\x80\x8c | ZERO WIDTH NON-JOINER |
U+200D | | \xe2\x80\x8d | ZERO WIDTH JOINER |