事情的起因

我在测试一个nginx配置文件,配置文件来自于印象笔记网页版复制(本人用的linux,没有印象笔记客户端可用),编辑的时候发现了蹊跷:

image-20211028180909688

不过没有太在意,还有一点蹊跷的是vim编辑的时候该高亮的地方也不高亮了,接着改好了配置文件后,发现nginx -t怎么测试都不通过。

排查问题

当然怀疑是nginx配置文件的问题,将配置文件复制到windows下,使用notepad++编辑(显示所有符号)发现里面的空格并不是空格

image-20211028181420775

真正的空格应该显示的是.,tab显示的应该是➡️。将这个”空格”复制出来,然后找个在线转换器http://www.hiencode.com/jinzhi.html转换成16进制数据,发现是a0

image-20211028181809194

然后到https://zh.wikipedia.org/wiki/Unicode%E5%AD%97%E7%AC%A6%E5%88%97%E8%A1%A8搜了下a0,发现是一个叫做不换行空格的东西,又叫硬空格(hard space、fixed space)

image-20211028180646950

用途是禁止换行,常用于html,比如地址xx省xx市 xx县 xx镇 xx村这个我们希望在网页上不要换行显示,就会打上 取代空格,表示我希望在页面变窄的时候换行显示。