Home > Web Front-end > JS Tutorial > How to pass Chinese characters through URL in JavaScript_javascript skills

How to pass Chinese characters through URL in JavaScript_javascript skills

WBOY
Release: 2016-05-16 19:15:22
Original
1489 people have browsed it

Using JavaScript to transfer values ​​​​to the backend code through URL is a frequently used method, but when transferring Chinese characters, the problem of incomplete characters or garbled characters often occurs. The reason is that the encoding method of the client IE browser is GB2312. (The default setting for the Simplified Chinese version of WINDOWS), while the background C# code uses utf8 encoding (the default configuration for creating WEB projects).
There are many solutions on the Internet to solve this problem, such as changing the encoding method of web.config to GB2312, encoding first and then transmitting through escape on the client. Personal experience is not very ideal or some special characters are not supported. After comparison, I decided to use encodeURIComponent to encode on the client side and then pass the value, except "/" which is not supported (but in actual development, it is rarely necessary to pass this value. If this is the case, just add another layer of judgment.
The help documentation for encodeURIComponent is as follows:
encodeURIComponent method
encodes a text string into a valid component of a Uniform Resource Identifier (URI)
encodeURIComponent( encodedURIString )
Represents the required encodedURIString parameter. An encoded URI component.
Description
The encodeURIComponent method returns an encoded URI. If you pass the encoding result to decodeURIComponent, the original string will be returned. Note that if the string represents a path, such as /folder1/folder2/default.html, the slashes in it will also be encoded, so that the encoding result will be invalid when sent as a request to the web server. If the string contains more than one URI component, use the encodeURI method for encoding.
Requires
Version 5.5
See the
decodeURI method | The decodeURIComponent method
applies to: Global objects

I made a small example to show the effect
Default.aspx code:

Copy code The code is as follows:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>



Untitled page




   Value1=
    Value2=
                                                                                                      callURL(Text1.value, Text2.value)"/>







Default.aspx.cs code:


Copy code The code is as follows:

using System; 
using System.Data; 
using System.Configuration; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Web.UI.HtmlControls; 
public partial class _Default : System.Web.UI.Page  

    protected void Page_Load(object sender, EventArgs e) 
    { 
        string tmpValue1 = ""; 
        string tmpValue2 = ""; 
        if (Request.QueryString["Value1"] != null) 
        { 
            tmpValue1 = Request.QueryString["Value1"].ToString(); 
        } 
        if (Request.QueryString["Value2"] != null) 
        { 
            tmpValue2 = Request.QueryString["Value2"].ToString(); 
        } 
        Response.Write("Value1="   tmpValue1   ""   "Value2="    tmpValue2); 
    } 
}
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template