欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

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

问题描述

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

原因

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

解决方法

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

 

其他

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