场景说明
朋友在windows服务器用记事本编辑nginx配置文件后,刷新nginx配置,nginx返回以下错误:
nginx: [emerg] unknown directive "锘?user" in C:\nginx-1.12.2/conf/nginx.conf:1
原因
unknown directive 是未知指令的意思,后面带着未知指令的内容是"锘?user"。由此判断,是nginx配置文件编码不正确的原因。
事实上,windows的记事本编辑文本后,会以ASCII码编码进行保存。这与nginx配置文件的utf8编码不符合。
解放方法
重新编辑nginx配置文件,以utf8编码保存。
以下是要在Windows的记事本中设置UTF-8编码的操作步骤:
-
打开记事本,新建一个空白的文本文档,不输入任何文字。
-
点击菜单栏中的“文件”,选择“另存为”。
-
在弹出的“另存为”对话框中,可以看到当前文档的默认编码格式。要改变这个编码格式,需要点击对话框底部的“编码”下拉框。
-
在下拉框中选择“UTF-8”编码格式。
-
接下来,选择保存的位置和文件名,然后点击“保存”按钮。
这样,记事本就会以UTF-8编码格式保存文档了。注意,这种方法只适用于新建的空白文本文档,如果要对已有的文档进行转换,需要先将该文档的内容复制到新建的UTF-8编码的文本文档中,然后再保存。