`
Appleses
  • 浏览: 347989 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

PHP 中js 弹出乱码

 
阅读更多
echo "<script language='javascript'>alert(decodeURI('".urlencode("这记录修改不正确!")."'));window.history.back();</script>";

urlencode先转成url编码,再用decodeURI把url编码转变过来

================================================================
encodeURI和encodeURIComponent(处理JS乱码)



encodeURI()和encodeURIComponent()方法用于编码传递给浏览器的URI(统一资源标识符)。有效的URI不能包含某些字符,如空格。这两个方法用于编码URI,这样用专门的UTF-8编码替换所有的非有效字符,就可以使浏览器仍能够接受并理解它们。

encodeURI()方法用于处理完整的URI(例如,http://www.itlobo.com/illegal value.htm),而encodeURIComponent()用于处理URI的一个片断(如前面的URI中的illegal value.htm)。这两个方法的主要区别是encodeURI()方法不对URI中的特殊字符进行编码,如冒号、前斜杠、问号和英镑符号,而encodeURIComponent()则对它发现的所有非标准字符进行编码。例如:

这段代码输出两个值:

可以看到,除空格外,第一个URI无任何改变,空格被替换为%20。第二个URI中的所有非字母数字字符都被替换成它们对应的编码,基本上使这个URI变得无用。这就是encodeURI()可以处理完整URI,而encodeURIComponent()只能处理附加在已有URI末尾的字符串的原因。

自然,还有两个方法用于解码编码过的URI,即decodeURI()和decodeURIComponent()。如你所料,这两个方法所做的恰与其对应的方法相反。decodeURI()方法只对用encodeURI()方法替换的字符解码。例如,%20将被替换为空格,而%23不会被替换,因为它表示的是英镑符号(#),encodeURI()并不替换这个符号。同样的,decodeURIComponent()会解码所有encodeURIComponent()编码过的字符,意味着它将对所有的特殊值解码。例如:

这段代码输出两个值:

在这个例子中,变量uri存放的是用encodeURIComponent()编码的字符串。生成的值说明了应用两个解码方法时会发生的事情。第一个值由decodeURI()输出,把%20替换成空格。第二个值由decodeURIComponent()输出,替换所有的特殊。

这些URI方法encodeURI()、encodeURIComponent()、decodeURI()和decodeURICom- ponent()代替了BOM的escape()和unescape()方法。URI方法更可取,因为它们会对所有Unicode符号编码,而BOM方法只能对ASCII符号正确编码。尽量避免使用escape()和unescape()方法。

用AJAX提交数据时:

      发送端用encodeURIComponent(escape(xxxxxxx))就可以了(其他发送接受代码同上)

ASP端接收方法:


<%
Response.Charset="gb2312"
Response.Write Unescape(Request("act"))
%>

分享到:
评论

相关推荐

    alert弹出框出现乱码

    在`function.php`文件中,虽然执行了JavaScript的`alert()`函数,但由于该文件本身未声明其字符编码,导致其内部的中文字符在被读取时采用了默认的或错误的编码方式,从而在alert弹出框中显示为乱码。 #### 2. 解决...

    引入JavaScript时alert弹出框显示中文乱码问题

    今天在HTML中引入JavaScript文件运行时,alert弹出的提示框中文显示为乱码。 经查有两种可能: 1.JavaScript与HTML文件编码方式不一样 办法:在引入JavaScript的代码中指定其字符集为gb2312,代码如下: [removed]...

    js的alert弹出框出现乱码解决方案

    在本例中,我们讨论的是如何解决`alert()`弹出框中出现乱码的问题。 首先,我们需要理解乱码的根源。在HTML文档中,`&lt;meta&gt;`标签用于定义文档的字符集(charset),通常是`UTF-8`,这是一种广泛支持的多语言字符集...

    个人签名到头像弹出页处显示插件for Discuz! 7.2 GBK.rar

    通过这个插件,开发者将签名集成到了这个弹出窗口中,优化了用户体验,使用户能快速了解更多信息。 4. GBK编码兼容性: 由于Discuz! 7.2 GBK版使用GBK编码,该插件需确保对GBK编码的完全支持,以防止中文字符乱码...

    PHP开发实战1200例源码

    实例025 Dreamweaver控制弹出信息 45 实例026 Dreamweaver控制浏览器的窗口 46 实例027 通过Dreamweaver创建站点 47 实例028 通过Dreamweaver开发第1个PHP程序 48 1.7 Zend Studio开发工具 50 实例029 安装Zend ...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例210 在弹出的对话框中选择个性头像 265 实例211 浮动的广告窗口 266 实例212 在页面右下角弹出渐显的广告窗口 268 3.7 状态栏设计 269 实例213 跑马灯文字 269 实例214 状态栏中的收缩显示文字 270 实例215 状态...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例210 在弹出的对话框中选择个性头像 265 实例211 浮动的广告窗口 266 实例212 在页面右下角弹出渐显的广告窗口 268 3.7 状态栏设计 269 实例213 跑马灯文字 269 实例214 状态栏中的收缩显示文字 270 实例215 状态...

    PHp面试荟萃

    JavaScript中的表单弹出对话框函数是alert(),获得输入焦点函数是focus()。JavaScript的转向函数是location.assign()或location.replace()。外部JavaScript文件可以通过标签引入。 foo()和@foo()的区别在于后者通过...

    个人收集的php 面试材料

    27. **JS弹出对话框**:`alert()`用于弹出对话框,`focus()`使元素获得焦点。`window.location.href`实现页面跳转,`&lt;script src="file.js"&gt;&lt;/script&gt;`引入外部JS文件。 28. **JS转向函数**:`window.location.href...

    uploadify-中文语言错误提示

    同时,我们还设置了一个`onError`回调函数,当发生错误时,会弹出错误提示信息。 除此之外,为了确保中文环境的完整支持,还需注意以下几点: 1. 确保服务器支持UTF-8编码,因为中文字符需要在正确的编码环境下才能...

    PHP面试题(最牛)

    JS表单弹出对话框函数是`alert()`,获得输入焦点函数是`focus()` #### 29. JS的转向函数是`window.location.href = 'url'`;怎么引入一个外部JS文件 **示例代码**: ```html &lt;script src="external.js"&gt; ``` #### 30...

    一份超级全面的PHP面试题

    28、JS弹出对话框函数:`alert()`,获得输入焦点:`focus()`。 29、JS转向函数:`location.href`,引入外部JS:`&lt;script src="..."&gt;&lt;/script&gt;`。 30、`@`符号用于抑制错误报告。 31、声明无方法和属性的类: ```...

    PHP面试题汇总附答案

    JS表单弹出对话框函数和获得输入焦点函数 - **弹出对话框**:`alert()` - **获得输入焦点**:`focus()` #### 28. JS的转向函数和引入外部JS文件 - **转向函数**:`window.location.href = 'url'` - **引入外部JS...

    PHP用户注册

    如果发现任何字段未填写或不符合要求,会弹出警告并阻止表单提交。 2. **事件监听**: 通过`onSubmit`事件调用`InputCheck()`函数,确保只有在输入有效时才允许表单提交。 ### CSS部分 1. **样式设计**: CSS用于...

    PHP笔试题-归宗

    #### JS表单弹出对话框与获取焦点 - 弹出对话框:`alert()`、`confirm()`、`prompt()`。 - 获取焦点:`element.focus()`。 #### JS转向与引入外部文件 - 转向:`location.href = 'url'`。 - 引入外部文件:`...

    PHP 动态生成静态HTML页面示例代码

    - 最后通过JavaScript弹出提示框和自动跳转到生成的静态页面。 4. 文件操作注意事项: - 在打开文件时,需要考虑文件权限问题,确保服务器进程有权限读写指定的文件。 - 在读取和写入文件时,应妥善处理可能发生...

    function.inc.php超越php

    这个函数用于在网页中弹出JavaScript警告对话框,显示传递的文本信息。通过`echo`语句将JavaScript代码输出到页面,使得浏览器执行`alert()`函数。例如,`popbox('Hello, World!')`会在浏览器中显示一个包含"Hello,...

Global site tag (gtag.js) - Google Analytics