问题描述
在SALOME官网上下载SALOME.zip(for windows10)文件后解压,并且下载了Microsoft Visual C++之后,运行run_salome.bat后出现以下错误。
File “<string>”,line 1
SyntaxError: (unicode error) utf-8 codec can't decode byte 0xb4 in position 12: invalid start byte
原因分析:
这个错误提示太具有误导性了,直观上看会认为是utf-8可能会没办法对中文解码而导致C++容器的代码文件没有办法被成功读取。然后就会在SALOME包中疯狂寻找string文件中是否存在中文,查找文件中说明的更改方式,尝试使用GBK编码等等…
在网上搜索也没有找到满意的解决方案,在SALOME官网的FAQ和Forum上也没有找到相关的问题(可能是因为中国用户比较少?)
解决方案:
试了半天终于找到了问题在哪里,先打开Windows的设置界面,找到自己的用户名。
看到自己的用户名之后看看是不是中文命名的,如果是,就重命名为英文,拼音也行。人家utf-8解码解一半就卡在这里了…
ps:当时只是抱着尝试的心态,没想到真就解决了无法正常启动这个问题…最终并不是C++ container无法解码,而是用户名无法解码,希望能帮到有需要的人。