Хорошо,今天来讲讲我被一个空格搞崩溃的故事。
客户说搜索功能找不到"北京",我查了半天数据库明明有啊… 最后发现用户复制粘贴的是全角空格"北京 ",而我代码里trim()只处理了半角空格U+0020,全角空格U+3000完美隐身了。
更绝的是,有些用户从PDF复制内容会带上零宽字符U+200B,肉眼完全看不见,字符串长度显示多了一位,==比较永远失败。我画了张图记录这堆空格的区别,现在贴工位旁边当护身符。
建议大家都去查查自己项目的字符串处理,normalize一下NFKC,别像我一样对着终端发呆三小时。你们遇到过什么Unicode刺客吗?