Max*_*Max 6 javascript java encoding
我有一个页面,我搜索一个术语,它显示完美.无论是哪种角色.
现在,当我在JSP中有几个复选框时,我检查并提交.在这些复选框中,我有一个框名称ABC Farmacéutica Corporation.
当我点击提交按钮时,我正在调用一个函数并将所有参数设置为一个表单并将提交该表单.(我在提交前测试了特殊字符显示的警报,并且显示良好).
现在,来到Java端,我使用Springs Frame工作.当我在控制器中打印该术语时,它显示为ABC Farmacéutica Corporation.
请帮忙......先谢谢.
编辑:
请尝试此示例示例
import java.net.*;
class sample{
public static void main(String[] args){
try{
String aaa = "ABC Farmacéutica Corporation";
String bbb = "ABC Farmacéutica Corporation";
aaa = URLEncoder.encode(aaa, "UTF-8");
bbb = URLDecoder.decode(bbb, "UTF-8");
System.out.println("aaa "+aaa);
System.out.println("bbb "+bbb);
}catch(Exception e){
System.out.println(e);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我得到输出,
aaa PiSA+Farmac%C3%A9utica+Mexicana+Corporativo
bbb PiSA Farmac??utica Mexicana Corporativo
Run Code Online (Sandbox Code Playgroud)
尝试按string aaa原样打印.
Yan*_*hon 10
您得到的"ABC Farmacéutica Corporation"是因为您从客户端收到的字符串是ISO-8859-1,您需要在对其UTF-8进行URL解码之前将其转换为.像这样 :
bbb = URLDecoder.decode(new String(bbb.getBytes("ISO-8859-1"), "UTF-8"), "UTF-8");
Run Code Online (Sandbox Code Playgroud)
注意:某些编码无法从不同的编码转换为不同的编码,而不会有数据丢失的风险.例如,您无法将Thaï字符(TIS-620)转换为其他编码,甚至不能UTF-8.因此,除非最终需要(即数据来自外部,第三方或专有来源等),否则请避免从一种编码转换为另一种编码.这只是如何从一个源转换为另一个源的解决方案,知道源编码.
这是一个编码问题,并且\xc3\x83可以清楚地识别出这是解释为 ISO-Latin-1(或其近亲之一)的 UTF-8 文本。
确保顶部的 JSP 页面显示它使用 UTF-8 编码。
\n| 归档时间: |
|
| 查看次数: |
12229 次 |
| 最近记录: |