没想到Json文件保存编码会遇到如此多的坑,事情是这样的,一开始用记事本文件创建了一个json文件,并保存为data.json。
{ "project": { "config": { "name": "上海五角场购物中心", "author": "xxxxxx项目部", "time": "2017-08-02 18:00:00", "data_source_app": "AutoCad", "data_source_app_version": "2020", "building_info": {}, "extro_info": {} }, "data": { "dwgs": [{ "id": 1, "name": "一层", "fileName": "一层过滤.dwg", "path": "D:/CAD图块库/深化提资CAD/dwgs/一层过滤.dwg", "description": "上海五角场购物中心一楼", "time": "2021-07-02 18:00:00", "thumbnail": "/pics/五角场_一层过滤.png" }, { "id": 2, "name": "二层", "fileName": "二层过滤.dwg", "path": "D:/CAD图块库/深化提资CAD/dwgs/二层过滤.dwg", "description": "上海五角场购物中心一楼", "time": "2021-07-02 18:00:00", "thumbnail": "/pics/五角场_二层过滤.png" } ], "extro_info": {} } } }
注意此时的文件编码为ANSI
此时运行程序没错,但是在命令行或VSCode中显示不正确
Sketchup的Ruby控制台+中显示如下:
VSCode中显示如下
于是乎把文件另存为了UNICODE码
此时在Ruby控制台+中显示出了错误
而在VSCode中查看到的文件编码为UTF-16LE
接下来把文件编码改为了UTF-8,以为应该没问题了
此时Ruby控制台+出现下面的错误
而在VSCode中查看到的编码格式为UTF-8 with BOM
终极解决方案:
在VSCode中点击选择编码后选择保存编码为UTF-8
一切都正常了