JAX-RS服務端接收中文亂碼
阿新 • • 發佈:2019-01-04
總是在追求最新、最牛的技術然而卻忘本了,在此記錄一下:
還記得在學servlet的時候,處理中文亂碼時:如果是GET提交則用byte[] nameByte = str.getBytes("ISO-8859-1"); str = new String(nameByte, "UTF-8");解決,如果是Post提交了則更容易,用request.setCharacterEncoding("UTF-8");來解決。
現在在處理JAX_RS的時候,可以在他提供的過濾器中寫入request.setCharacterEncoding("UTF-8");即可,程式碼如下:
public class CharacterEncodingFilter implements ContainerRequestFilter { @Context HttpServletRequest request; @Override public void filter(ContainerRequestContext requestContext) throws IOException { request.setCharacterEncoding("UTF-8"); } }
如果你用dubbo+Rest的話,也可以用這種方式來解決。