• URL编码乱码|中文乱码|C#|.NET|中文参数乱码|URL跨域中文乱码


    问题:传递中文参数的时候,接收页面出现乱码问题?当跨域操作,两套系统的编码方式不一样又该如何操作?

    解决方法:url 编码 中文|c# js url传参中文乱码解决方案

    1、web.config 中添加配置节点,这个方法确实可行,但是如果把项目的编码改了,其他地方很有可能会出现问题。不推荐使用该方法。

    <configuration>
          <system.web>
              <globalization fileEncoding="GB2312" requestEncoding="GB2312" responseEncoding="GB2312"/>
          </system.web>
       </configuration>

    2、URL中传参数时,Server.UrlEncode()和Server.Decode()进行加码和解码的操作,这种方法对于发送方和接受方在同一个项目中是可行的,如果跨域了,太麻烦了就,必须更改所有相应的页面。

    3、把要包含该链接的aspx文档,修改其charset属性为gb2312。

    4、采用HttpUtility.UrlEncode(query, System.Text.Encoding.GetEncoding("GB2312"));对链接中的参数值进行gb2312的编码,这种方法,对方不用进行任何解码操作,直接接收参数则不会出现乱码。

    5、js前台escape方法,后台Server.UrlDecode(Request.Querystring["Name"])

    <script language="JavaScript"> 
          function GoUrl() { 
             var Name = "中文参数"; 
             location.href = "B.aspx?Name="+escape(Name) ; 
           } 
       <body onclick="GoUrl()"> 

    跨域操作的话,还是第4种方法好用,简单有效。

    问题是解决了,但是必须普及下编码相关的知识。字符编码简介:ASCII,Unicode,UTF-8,GB2312

    作者:xirong
    出处:http://www.cnblogs.com/xirongliu
    说明:本文是自己学习编程的一个历程,版权归作者和博客园共有,欢迎转载,请标明原文连接,如有问题 xirong 联系我,非常感谢。

  • 相关阅读:
    阿里Canal中间件的初步搭建和使用
    深入理解Java String类
    深入理解Java中的String
    Docker 容器数据卷(挂载)
    在docker容器下利用数据卷实现在删除了mysql容器或者镜像的情况下恢复数据
    EFK(Elasticsearch+Filebeat+Kibana)收集容器日志
    Docker 容器日志占用空间过大解决办法
    四种软件架构,看看你属于哪个层次
    Kubernetes 如何只授予某一 Namespace 的访问权限
    Docker实验Docker的网络配置
  • 原文地址:https://www.cnblogs.com/xirongliu/p/2674196.html
Copyright © 2020-2023  润新知