javascript php 之间传递 中文 避免乱码

在javascript代码中用encodeURIComponent()函数处理中文字符串,
JS代码:
<mce:script type=”text/javascript”><!--
 string = encodeURIComponent(string);
 location.href = index.php?keyword=’+string;
// --></mce:script>
PHP代码:
<?php 
 $keyword = (isset($_GET['keyword'])) ? $_GET['keyword'] : ''; 
?> 
保证JavaScript和Asp、Php等后端程序间传值编码统一
在非英文字符集的页面上,如果使用Ajax方式进行数据交互的话,
就必须要注意保证前后端数据的统一编码,否则,很容易就出现乱码! 
在后端是ASP程序的情况下,保持前端Javascript和Asp之间传值的统一编码可以使用以下函数进行处理: 

编码:escape(string) 
解码:unescape(string) 
这两个函数在JavaScript和Asp里都存在,而且功能完全一样,
只要任何一端向另一端传数据,都先用escape进行编码,
接收的一端用unescape进行解码即可保证Javascript和Asp数据传递过程中不会出现乱码! 

在后端是PHP程序的情况下,保持前端Javascript和PHP之间传值的统一编码可以使用以下函数进行处理: 
WEB前端JavaScript 
编码:encodeURI(string) 
解码:decodeURI(string) 
WEB后端Php 
编码:urlencode(string) 
解码:urldecode(string) 
同样,传值的时候使用相应的编码函数encodeURI或urlencode,
接收的时候使用相应的解码函数decodeURI或urldecode,
即可保证Javascript和Php数据传递过程中不会出现乱码! 
在WEB前端Javascript解码,Php里urlencode编码的数据时,可能需要使用两次解码,如: 
unescape(decodeURI(string)) 
unescape用来解一些非字符类的文字,如标点符号等等。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Java变量和JavaScript变量之间传递是不直接的,因为它们属于不同的编程语言。 Java是一种静态类型语言,变量必须先声明并指定类型,然后才能使用。Java变量的作用范围通常在声明它们的代码块中有效,并且可以通过传递参数或返回值的方式在不同的方法之间传递。 而JavaScript是一种动态类型语言,变量的类型是根据赋给它们的值来确定的。JavaScript变量的作用范围通常是定义它们的函数中,并且可以通过函数参数、全局变量或者通过DOM进行传递和访问。 如果需要在Java和JavaScript之间进行数据传递,需要使用一些中间的方式。一种常用的方法是使用HTTP请求和响应,通过前端发送HTTP请求到后端Java服务器,后端处理请求并返回数据给前端JavaScript进行处理和展示。 另一种方法是使用WebSocket技术,在Java服务器上建立WebSocket连接,并使用JavaScript API与服务器进行实时双向通信。 除了以上方法,还可以使用其他跨语言的技术,如JSON、XML等,通过串行化和反串行化将数据从一种语言转换为另一种语言进行传递。 总之,Java变量和JavaScript变量之间传递需要借助中间的技术和方法进行交互和转换,以实现数据的传递和共享。 ### 回答2: Java变量和JavaScript变量是两种不同的编程语言中的概念,它们之间传递需要通过特定的方式进行。 首先,Java是一种静态类型语言,变量在声明时需要指定其类型,并且在编译时会进行类型检查。而JavaScript是一种动态类型语言,变量不需要指定类型,并且在运行时可以根据赋值的内容自动进行类型推断。这意味着Java变量和JavaScript变量在声明和使用上存在一些不同之处。 如果需要在Java和JavaScript之间进行变量传递,可以通过以下几种方式实现: 1. 通过Web API进行传递:可以使用Java后端与JavaScript前端之间的Web API进行变量传递。通过HTTP请求,在Java后端获取数据后,将其通过JSON格式返回给前端JavaScript进行处理和显示。 2. 使用JavaScirpt引擎调用Java代码:Java提供了JavaScript引擎,可以通过该引擎在Java中直接执行JavaScript代码。这样可以在Java中调用JavaScript函数,将Java变量作为参数传递JavaScript函数,或者通过JavaScript函数的返回值获取JavaScript变量的值。 3. 使用Java和JavaScript的互操作库:有些互操作库可以让Java和JavaScript代码更容易地进行集成。例如,Rhino是一个开源的Java与JavaScript互操作库,可以在Java中直接调用JavaScript函数,并传递变量。 需要注意的是,由于Java和JavaScript是两种不同的编程语言,它们之间的变量传递通常需要特定的桥接机制或者接口来实现。在设计和开发过程中,需要仔细考虑变量的类型、数据格式和有效性,以确保正确地进行变量传递和处理。 ### 回答3: Java和JavaScript是两种不同的编程语言,它们之间的变量传递方式也有一些不同。 首先,Java是一种静态类型语言,而JavaScript是一种动态类型语言。这意味着在Java中,在使用变量之前必须先声明变量的类型,并且变量的类型在编译时确定。而JavaScript中的变量是可以随时改变类型的。 其次,Java通过使用参数传递的方式来传递变量。参数分为值传递和引用传递两种情况。在值传递中,将变量的值复制一份传递给函数,对这份复制的值进行修改不会影响原始变量的值。而在引用传递中,将变量的地址传递给函数,对这个地址指向的变量进行修改会影响原始变量的值。 而JavaScript中只有值传递一种方式。因为JavaScript中的变量是动态类型的,函数的参数只是存储了变量的值,而不会存储变量的引用。当将一个变量作为参数传递给函数时,函数会创建一个新的变量,将原始变量的值复制过去。 总的来说,Java和JavaScript之间的变量传递方式有一些差异。Java是静态类型语言,使用参数传递的方式传递变量,可以区分值传递和引用传递。而JavaScript是动态类型语言,只有值传递一种方式,将变量的值复制给函数的参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值