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

May 16, 2016 pm 07:15 PM

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" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http ://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled page</title>
</head> ;
<script type="text/javascript" language="javascript">
function callURL(Value1, Value2)
{
document.URL = "Default.aspx?Value1=" encodeURIComponent(Value1) "&Value2=" encodeURIComponent(Value2);
}
</script>
<body>
<form id="form1" runat="server">
  <div>
   Value1=<input id="Text1" type="text" value="1234567890"/><br />    Value2=<input id=" Text2" type="text" value="People's Republic of China"/>
                                                                                                      callURL(Text1.value, Text2.value)"/></div>
</form>
</body>
</html>



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   "<br />"   "Value2="    tmpValue2); 
    } 
}
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

Hot Article Tags

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Replace String Characters in JavaScript Replace String Characters in JavaScript Mar 11, 2025 am 12:07 AM

Replace String Characters in JavaScript

Custom Google Search API Setup Tutorial Custom Google Search API Setup Tutorial Mar 04, 2025 am 01:06 AM

Custom Google Search API Setup Tutorial

Example Colors JSON File Example Colors JSON File Mar 03, 2025 am 12:35 AM

Example Colors JSON File

8 Stunning jQuery Page Layout Plugins 8 Stunning jQuery Page Layout Plugins Mar 06, 2025 am 12:48 AM

8 Stunning jQuery Page Layout Plugins

10 jQuery Syntax Highlighters 10 jQuery Syntax Highlighters Mar 02, 2025 am 12:32 AM

10 jQuery Syntax Highlighters

Build Your Own AJAX Web Applications Build Your Own AJAX Web Applications Mar 09, 2025 am 12:11 AM

Build Your Own AJAX Web Applications

What is 'this' in JavaScript? What is 'this' in JavaScript? Mar 04, 2025 am 01:15 AM

What is 'this' in JavaScript?

10  JavaScript & jQuery MVC Tutorials 10 JavaScript & jQuery MVC Tutorials Mar 02, 2025 am 01:16 AM

10 JavaScript & jQuery MVC Tutorials

See all articles