DeemOpen / zkui

A UI dashboard that allows CRUD operations on Zookeeper.
2.36k stars 977 forks source link

Cant add property values with special chars #19

Closed SeameX closed 8 years ago

SeameX commented 8 years ago

Hi,

i cant insert propertys with special chars like "ß" or "é". Zookeeper it self allow these chars.

Propertyname: test Propertyvalue: testß

Result: Error 500 Caused by: java.lang.NullPointerException at com.deem.zkui.controller.Home.doPost(Home.java:132) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:698) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1564) at com.deem.zkui.filter.AuthFilter.doFilter(AuthFilter.java:63) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1544) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:524) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:138) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:568) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1105) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:453) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1039) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:136) at org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:445) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:277) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:216) at org.eclipse.jetty.io.AbstractConnection$1.run(AbstractConnection.java:505) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:601) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:532) at java.lang.Thread.run(Unknown Source)

Best regards

Stefan

divyeshtopiya commented 8 years ago

I think this is because jetty by default is sending response header Content-Type:text/html; charset=ISO-8859-1, due to which it won't show utf-8 special char, also when you post data to server using html form element, it will by default encode request data in to ISO-8859-1 as document was loaded using ISO-8859-1. I have replaced all response.setContentType(""); to response.setContentType(";charset=UTF-8"); and it works like a charm.