none
VS2019 ASPX页面编辑后中文乱码 RRS feed

  • Soru


  • 当aspx 页面编码格式 为UTF-8 的时候 然后随便编辑文件中的一个文本 保存 然后页面就会变为乱码 只有改成UTF-8(BOM) 带编码 中文才是显示正常,但是这样在项目中就显得十分的麻烦。试过网上的解决方式。Force UTF-8 插件  ,时间区域修改为beat 版本 都没有什么用处,望大神们帮帮忙彻底解决一下

    18 Mayıs 2022 Çarşamba 03:02

Tüm Yanıtlar

  • 等验证账号后 会附图
    18 Mayıs 2022 Çarşamba 03:06
  • Hi wujiang,

    默认情况下,保存文件的编码应该是“Unicode (UTF-8 with signature) – Codepage 65001, 请问你之前有改过VS 2019的一些编码之类的设置或者有装过什么三方插件么?

    你可以试试重置下VS的设置,参考这篇文档:/ResetSettings (devenv.exe),关闭所有VS的实例,然后在VS的开发者命令提示符中输入devenv /ResetSettings,等待重置完成。如果你在VS中有一些自定义的设置,可以在重置前先导出,参考这篇文档:导入和导出设置命令(.vssettings文件)

    另外,你也可以试试在VS 2019  -> 工具 -> 选项 -> 环境 -> 文档 -> 勾选“不能以代码页的编码格式保存数据时将文档保存为Unicode

    诚挚的问候,

    Tianyu


    如果您对Visual Studio 或Microsoft Azure相关产品感兴趣,请点击此链接,或扫描以下二维码注册获取相关信息。


    18 Mayıs 2022 Çarşamba 07:22
  • ASCII (American Standard Code for Information Interchange),标准ASCII码(基本ASCII)使用7bits二进制(0或1)来表示所有的大小写字母、0-9的数字和标点符号及特殊字符。
    Unicode统一码是为各种语言字符设定统一且唯一的二进制编码方案,以满足跨语言、跨平台进行文本转换、处理的需要。Unicode编码方案容纳了世界上所有文字和符号,编码范围从0至0x10FFFF,最多可容纳1,114,112个字符。该编码方案有UTF-32、UTF-16和UTF-8等实现方式;UTF-32编码不需要转换可直接表示所有Unicode字符,缺点是每个字符必须占用4个字节(32bit),ASCII字符也不例外;UTF-16编码可用2个字节直接表示Unicode(0-0xFFFF)范围内的字符,其余字符需要转换为4个字节来表示;UTF-8(Unicode Transformation Format - 8 bits)采用可变长度的方法进行编码,有单字节,二字节、三字节和四字节等多种字符存储形式,用来表示所有的Unicode字符,其中单字节字符与基本ASCII字符表现形式完全一致,其他字符存储形式的字节最高位置1,以区别于标准ASCII码,由于程序文件中ASCII码占绝对量,信号按字节传输也符合网路传输的规律,因此跨语言、跨平台页面文件目前多选用UTF-8编码的存储方式。
    BOM(Byte Order Mark)是微软公司为识别UTF-32、UTF-16和UTF-8等字符编码方式而制定的文件头规则,在非微软系统环境中有可能不被识别而错误地读取字符编码,UTF-8程序文件中的非基本ASCII字符,譬如中文汉字字符等。若不能使用带BOM的格式存储页面文件,则需要将文件内中文字符转换成ASCII字符,如"一"字符在HTML有一或一两种Unicode码点表示方式,中文字符转成Unicode码点可使用Excel函数工具,或使用网路转换工具如http://www.msxindl.com/tools/unicode16.asp等。
    18 Mayıs 2022 Çarşamba 08:42
  • 并没有解决问题 。 正常情况aspx 页面 都是 UTF-8(BOM)  只要一修改 哪怕是打个空格 然后保存后 页面的编码就会变成 UTF-8  然后页面中文就会乱码 已经重置了vs 的环境,猜测这是否和源代码签出后保存的文件格式有关
    31 Ağustos 2022 Çarşamba 08:31
  • 建议更换aspx页面文件的编辑器,譬如Notepad等软体替代。
    31 Ağustos 2022 Çarşamba 08:44
  • Hi wujiang,

    你也可以试试在保存文件的时候更改下编码试试。保存的时候选Save as > Save with Encoding… > 选择Unicode(UTF-8 with signature) – Codepage 65001看看。

    诚挚的问候,

    Tianyu


    MSDN Community Support Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com

    31 Ağustos 2022 Çarşamba 09:15
  • 保存单个文件的时候 去选择一下文件的格式 选择为Unicode(UTF-8 with signature)  这确实有用,目前的解决方案也是这样的,但是如果涉及到项目的改动aspx页面很多的话就需要一个一个去重新保存选择编码 ,这样就变得很繁琐。这个就是我的核心问题
    2 Eylül 2022 Cuma 07:50
  • 请问如何选择aspx页面的文本编辑器? 我是直接在visual studio 中 进行修改的?VS中有这个选项吗
    2 Eylül 2022 Cuma 07:51
  • aspx页面需要一个一个去重新选择编码保存,这是一件麻烦的事。

    不如直接将这个项目的文件路径设置在文本编辑器中,绕开visual studio编辑器,再对aspx页面进行修改。

    VS2022没有这个麻烦事,确定编码类型後即可。




    6 Eylül 2022 Salı 02:26