我是靠谱客的博主 故意鸭子,最近开发中收集的这篇文章主要介绍编码格式引发的血案,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  问题背景:

    使用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格式生成源文件。

 

转载于:https://www.cnblogs.com/MXJ-Blogs/p/9146183.html

最后

以上就是故意鸭子为你收集整理的编码格式引发的血案的全部内容,希望文章能够帮你解决编码格式引发的血案所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部