错误集
来源:互联网 发布:前段优化 编辑:程序博客网 时间:2024/05/16 09:19
中文作为url变量的时候在发起请求之前,变成uri是变为16进制字节码,后台在接受的时候要做一次字符转化
String namef=new String(name.getBytes("ISO-8859-1"),"UTF-8");
跟踪问题: 导入源码跟问题,或者直接网上查。
java.lang.StringIndexOutOfBoundsException: String index out of range: -213
由于要转的对象字段有乱码,在转成json时截断了json串
乱码解决方式:
在java后台装配时
String namef=new String(name.getBytes("ISO-8859-1"),"UTF-8");
@POST
@Path("logs/EventId")
@Produces(ContentType.APPLICATION_JSON_UTF_8)
@Consumes(ContentType.APPLICATION_JSON_UTF_8)
public long saveEventNameId(@Context HttpServletRequest request) throws ManoException
{
try
{
EventNameId operationLog = new EventNameId();
operationLog.setEventId(request.getParameter("Event-Id"));
String name =request.getParameter("Event-Name");
String namef=new String(name.getBytes("ISO-8859-1"),"UTF-8");
operationLog.setEventName(namef);
operationLogLS.insertEventOne(operationLog);
return operationLog.getId();
}
catch (Exception ex)
{
LOG.error(ex.getMessage(), ex);
throw new ManoException(ex);
}
}
///这个偏前台url
当然也可以在url中加参数
Client client = ClientBuilder.newClient();
WebTarget target = client.target(url);
// target = target.queryParam("useUnicode", "true");
// target = target.queryParam("characterEncoding", "utf8");
这个是配合url的16进制的java代码转化,但是由于WebTarget 封装太强,即使转化成中文后面进行uri的时候也会被转回
String a= URLEncoder.encode("%E5%8B");
// String output = URLDecoder.decode(a, "UTF-8");
// System.out.println(URLDecoder.decode(output,"UTF-8"));
String namef=new String(name.getBytes("ISO-8859-1"),"UTF-8");
跟踪问题: 导入源码跟问题,或者直接网上查。
java.lang.StringIndexOutOfBoundsException: String index out of range: -213
由于要转的对象字段有乱码,在转成json时截断了json串
乱码解决方式:
在java后台装配时
String namef=new String(name.getBytes("ISO-8859-1"),"UTF-8");
@POST
@Path("logs/EventId")
@Produces(ContentType.APPLICATION_JSON_UTF_8)
@Consumes(ContentType.APPLICATION_JSON_UTF_8)
public long saveEventNameId(@Context HttpServletRequest request) throws ManoException
{
try
{
EventNameId operationLog = new EventNameId();
operationLog.setEventId(request.getParameter("Event-Id"));
String name =request.getParameter("Event-Name");
String namef=new String(name.getBytes("ISO-8859-1"),"UTF-8");
operationLog.setEventName(namef);
operationLogLS.insertEventOne(operationLog);
return operationLog.getId();
}
catch (Exception ex)
{
LOG.error(ex.getMessage(), ex);
throw new ManoException(ex);
}
}
///这个偏前台url
当然也可以在url中加参数
Client client = ClientBuilder.newClient();
WebTarget target = client.target(url);
// target = target.queryParam("useUnicode", "true");
// target = target.queryParam("characterEncoding", "utf8");
这个是配合url的16进制的java代码转化,但是由于WebTarget 封装太强,即使转化成中文后面进行uri的时候也会被转回
String a= URLEncoder.encode("%E5%8B");
// String output = URLDecoder.decode(a, "UTF-8");
// System.out.println(URLDecoder.decode(output,"UTF-8"));
0 0
- 错误集
- 错误集
- 错误集
- 错误集
- 错误集
- 错误集
- 错误集
- 错误集
- 错误集
- Java错误集--错误定位方法
- 错误整理集(二)
- 错误整理集()
- Http 错误集
- 错误锦集
- Unix shell 错误集
- GCC 编译错误集
- http错误锦集
- Tomcat 错误代号集
- C++之预处理
- PHP利用session实现上传进度条的方法
- 修改浏览器滚动条样式
- .properties文件的装载,和el表达式的应用
- C++之#progma pack预处理
- 错误集
- C++之类的构造与析构(一)
- C++之类的构造与析构(二)
- rest 调用有参数接口
- C++之类的构造与析构(三)
- OpenCV学习记录之摄像头调用
- mybatise 应用
- 【原创】快速排序
- 百科知识-这些知识你知道吗(3)