zoukankan      html  css  js  c++  java
  • 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 联系我,非常感谢。

  • 相关阅读:
    C++中的queue类、Qt中的QQueue类
    FeignClient传输实体类(包括GET、POST)
    Spring @Order注解的使用
    springboot整合fastdfs实现上传和下载
    Illegal group reference解决方法
    Java io下载并替换文件内容
    Java根据模板下载TXT文件
    SpringBoot--logger日志配置,使用@Slf4j注解
    SpringBoot--poi导出Excel文件
    JRebel for IntelliJ 热部署破解方法
  • 原文地址:https://www.cnblogs.com/xirongliu/p/2674196.html
Copyright © 2011-2022 走看看