码迷,mamicode.com
首页 > 其他好文 > 详细

编码格式引发的血案

时间:2018-06-06 22:21:43      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:就会   dell   中文   生成   文件   问题   监视   utf8   调试   

  问题背景:

    使用GalaSoft.MvvmLight写个WPF小应用。通过VS的Nuget管理器安装GalaSoft.MvvmLight。然后在安装MvvmLight时自动生成的MainViewModel.cs源文件中写入了中文的代码逻辑。

 

  问题现象:

    源代码中有中文字符串的比较逻辑(类似:str=="中文"),比较结果永远是false。通过调试查看str值以及监视str=="中文"的结果,却可以得到true的结果。

 

  问题原因:

    通过Nuget管理器安装GalaSoft的MvvmLight时,会自动添加两个类文件(MainViewModel.cs和ViewModelLocator.cs)。而生成的MainViewModel.cs文件的编码格式为GB2312,所以在文件中写入中文后,再经过编译就会变成乱码,导致逻辑异常。

    后面把系统语言换成英文后,自动生成的MainViewModel.cs文件的格式为UTF8,然后再把系统语言换回中文,自动生成源文件的编码格式还是UTF8。所以并不知道之前是抽了什么风,给我用GB2312格式生成源文件。

 

编码格式引发的血案

标签:就会   dell   中文   生成   文件   问题   监视   utf8   调试   

原文地址:https://www.cnblogs.com/MXJ-Blogs/p/9146183.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!