SmartStoreNet项目的ANSI文件乱码问题

在尝试学习SmartStoreNET开源商城项目时,遇到C#7.0语法不兼容和ANSI编码导致的乱码问题。通过改变系统区域设置为英语(美国),重启后将文件转为UTF-8格式,解决了乱码问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两天比较闲就找了个国外的开源商城项目SmartStoreNET想学习学习。

SmartStoreNET的github地址:https://github.com/smartstoreag/SmartStoreNET

用vs2017打开项目

      从github下载下来后,还原Nugget包并编译,编译报错。一看是语法错误而且这写法没有见过,一查才发现是C#7.0的新特性,vs2015不支持C#7.0,只好用vs2017打开了。

乱码问题

       用vs2017打开项目进行编译,又发现错误“常量中含有换行符”。打开错误所在的页面弹出了“使用简体中文(GB2312)编码加载文件xxxx时”的提示。

                          

      进入页面发现页面出现乱码

       出现错误的地方是符号错误,很明显的引号变成了问号(?)

         3个页面中都出现了这种错误,‘ ’变成了“”。符号很好改正,乱码可是不好解决。

百度上的一些方法都试过了,比如:

用vs2017的“高级保存”选项另存为utf-8格式;

用记事本、notepad++把文件另存为utf-8格式;

给vs安装插件:“工具->扩展和更新->联机,然后搜索ForceUTF8”强制转换格式。

这些都不行。

看到博客园的一篇文章说的很有道理,打开这些国外的代码文件出现乱码是:ANSI编码是给电脑识别的,它呢又有很多种,中国大陆的是GB2312、日本是JIS。我们的电脑根据系统的地域设置在转换这些文件的时候就已经转换错了,你再根据这个(错误的)文件再怎么转换格式也变不成原本的文件

文章地址:ANSI编码导致的乱码

解决方法:

修改电脑的区域位置。控制面板-区域和语言-管理-更改系统区域设置

               

选择语言(文件提交者所使用的语言,比如:英语(美国))

重启电脑。(第一次执行这个操作可能要等上40多分钟才能完成重启 )

重启后将这几个文件用记事本打开文件另存为utf-8格式,再将区域设置回“中文(简体,中国)”,重启电脑。

打开另存的utf-8格式的文件,一切正常。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值