Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过ajax-java发送阿拉伯语字符_Java_Html_Ajax_Character Encoding - Fatal编程技术网

通过ajax-java发送阿拉伯语字符

通过ajax-java发送阿拉伯语字符,java,html,ajax,character-encoding,Java,Html,Ajax,Character Encoding,我正在为我的项目使用java 我有一个包含许多文本框的页面 当用户键入阿拉伯语字符串并按下保存按钮时,字符串将被销毁 例如: 输入:السلام 按下按钮后:%645D5$64%64f和%DF 我使用以下代码在jsp页面顶部使用UTF-8: <%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %> 我在其他一些数据中遇到了类似的问题。我通过使用encodeURI()封装从javascript发送

我正在为我的项目使用java

我有一个包含许多文本框的页面

当用户键入阿拉伯语字符串并按下保存按钮时,字符串将被销毁

例如:

  • 输入:السلام
  • 按下按钮后:%645D5$64%64f和%DF
我使用以下代码在jsp页面顶部使用UTF-8:

<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>

我在其他一些数据中遇到了类似的问题。我通过使用encodeURI()封装从javascript发送的数据来解决这个问题。 您可以使用encodeURI()或encodeURIComponent(),这两种方法都适用于您。
一定要告诉我这是否有效

如果您使用的是Spring MVC,请将其添加到web.xml中

<filter>
    <filter-name>charsetFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>charsetFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

字符集过滤器
org.springframework.web.filter.CharacterEncodingFilter
编码
UTF-8
强制编码
符合事实的
字符集过滤器
/*

如果没有,请实现您自己的字符编码过滤器,并将其添加到web.xml中。查看代码。

如果在客户端调试javascript,字符串是什么样子的?如果在服务器端接收javascript,字符串是什么样子的?我使用了encodeURI和encodeURI组件代码,但如果在数据中使用encodeURI,字符串就不起作用了我如何解码数据?例如:你可以这样做。Name=encodeURI(Name);或组件(名称);然后在ajax中传递这个修改过的名称!
<filter>
    <filter-name>charsetFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>charsetFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>