事情的起因

我在测试一个 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村 这个我们希望在网页上不要换行显示,就会打上   取代空格,表示我希望在页面变窄的时候换行显示。