Asp.net core中由于页面编码导致的中文乱码

Posted on 2018-06-16 21:10  CrystalWind  阅读(472)  评论(1编辑  收藏

问题描述

最近使用asp.net core写了一个简单的网站,在windows系统下完全没有出现问题。后来在linux系统中搭建了docker,并且在linux中自动使用git获取源码,编译,部署一条龙自动化。结果发现一个奇怪的现象:在控制器的代码中赋值中文给view model,页面显示正常。但如果是在view model中定义中文,页面中的中文会乱码。

原因

根据现象,第一时间想到的是,中文来源的编码出现问题。后来发现因为view model的cs文件都用了gb2312编码了。源码在linux那头被读取编译的时候,估计用的是utf8.

解决方法

由于vs2017中默认把设置页面文件编码的菜单隐藏了,因此需要到自定义菜单中设置才能在vs中修改文件编码。具体可以参考.

 

其他

其实一开始出现乱码的时候没有往这个方向思考,在网上找了一些关于net core乱码的资料,发现没有效果,然后才一步步测试出来问题所在。在这里记录一下。

Copyright © 2021 CrystalWind
Powered by .NET 5.0 on Kubernetes