客户端Cookie中文编程_MySQL
Cookie
在Cookie的使用中,我们发现这样一个问题:如果写入Cookie的内容是中文(如用户称呼),用服务器端程序(如ASP
或PHP)读出完全正确,但是用一般的JavaScript或VBScript的读Cookie函数取出的却是一堆乱码。这是一个棘手的问题,
因为在有些情况下,Cookie的内容需要在客户机端用脚本语言读取。如果你写入了中文,得到了一堆乱码,是不是感觉很
别扭呢?解决这个问题,还要从Cookie的存取方式说起。
我们知道,写入Cookie内容前需要进行escape(十六进制编码),编码时又是以字节为单位的,这就是问题的关键所
在:任何一个汉字都会被拆成两个字节分别编码;而在读Cookie时,unescape又以字节单位解码,因此最后每个汉字都变
成了两个字节的乱码。怎么办呢?ASP或PHP方式能够正确读出,应该是在unescape解码后,又按照unicode编码把其中的汉
字拼了出来。如果这样的话,能不能找到一种变通的方法解决这个问题呢?仔细研究后发现,只要在十六进制codec(编解
码)过程中能够保存汉字信息就行了,因而我们需要再外包一层codec过程,方案如下:
1.在escape编码前,把Cookie字符串中的每个字符转换为unicode码的字符串形式(用一特殊字符作为字串的分隔
符)。
2.在unescape解码后,先把所有unicode字串提取出来,再用对应的函数转换为原字符。
var nArgLen=strArg.length;
var nCookieLen=document.cookie.length;
var nEnd;
var i=0;
var j;
while (i
j=i+nArgLen;
if (document.cookie.substring(i,j)==strArg)
{
nEnd=document.cookie.indexOf (";",j);
if (nEnd==-1) nEnd=document.cookie.length;
return DecodeCookie(unescape(document.cookie.substring(j,nEnd)));
}
i=document.cookie.indexOf(" ",i)+1;
if (i==0) break;
}
return null;
}
如果用CGI程序写入中文Cookie,客户端读取。如在ASP里,可以先使用前述的编码函数后,再用response写入,例
如:response.cookies("Name")=CodeCookie("张三")至此,中文Cookie的问题基本解决。若有相关问题,请到
www.coolbel.com/saibai交流。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











How to remove duplicate values from PHP array using regular expressions: Use regular expression /(.*)(.+)/i to match and replace duplicates. Iterate through the array elements and check for matches using preg_match. If it matches, skip the value; otherwise, add it to a new array with no duplicate values.

1. Programming can be used to develop various software and applications, including websites, mobile applications, games, and data analysis tools. Its application fields are very wide, covering almost all industries, including scientific research, health care, finance, education, entertainment, etc. 2. Learning programming can help us improve our problem-solving skills and logical thinking skills. During programming, we need to analyze and understand problems, find solutions, and translate them into code. This way of thinking can cultivate our analytical and abstract abilities and improve our ability to solve practical problems.

C is an ideal language for beginners to learn programming, and its advantages include efficiency, versatility, and portability. Learning C language requires: Installing a C compiler (such as MinGW or Cygwin) Understanding variables, data types, conditional statements and loop statements Writing the first program containing the main function and printf() function Practicing through practical cases (such as calculating averages) C language knowledge

Build browser-based applications with Golang Golang combines with JavaScript to build dynamic front-end experiences. Install Golang: Visit https://golang.org/doc/install. Set up a Golang project: Create a file called main.go. Using GorillaWebToolkit: Add GorillaWebToolkit code to handle HTTP requests. Create HTML template: Create index.html in the templates subdirectory, which is the main template.

Pythonempowersbeginnersinproblem-solving.Itsuser-friendlysyntax,extensivelibrary,andfeaturessuchasvariables,conditionalstatements,andloopsenableefficientcodedevelopment.Frommanagingdatatocontrollingprogramflowandperformingrepetitivetasks,Pythonprovid

Through GoGet, you can quickly and easily obtain Go modules. The steps are as follows: Run in the terminal: goget[module-path], where module-path is the module path. GoGet automatically downloads the module and its dependencies. The location of the installation is specified by the GOPATH environment variable.

C++ programming puzzles cover algorithm and data structure concepts such as Fibonacci sequence, factorial, Hamming distance, maximum and minimum values of arrays, etc. By solving these puzzles, you can consolidate C++ knowledge and improve algorithm understanding and programming skills.

Python is an ideal programming introduction language for beginners through its ease of learning and powerful features. Its basics include: Variables: used to store data (numbers, strings, lists, etc.). Data type: Defines the type of data in the variable (integer, floating point, etc.). Operators: used for mathematical operations and comparisons. Control flow: Control the flow of code execution (conditional statements, loops).
