Thanks a lot for your answer. I already did what you suggested: <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
but unfortunately the same problem. As I said when the default in the server.xml is "ISO-8859-1" all are fine. I am dealing with English and German languages. The problem in the umlaut, when I submit it to the servlet it is not recognized. here where I submit my request: <form action="http://localhost:8080//Search/main?name method="get" TARGET="result"> any more hint? awarnier wrote: > > starz10de wrote: >> I have an application which is running in local machine and it work >> perfect. >> I installed my application in the server to make it available for all. In >> the server we have tomcat running and provide services for many >> instances. >> After I played my application in the server, I had problem with query >> which >> have special language character. After long time, I could find where is >> the >> problem. The problem was in server.xml where the URIEncoding is set to >> "UTF-8". I made test and just removed this line or set it to "ISO-8859-1" >> and all was perfect. My question here is it possible to set the >> URIEncoding >> for each instance or is it possible to set it some where else. I send the >> query from jsp page to the servlet. in my jsp page the >> charset=ISO-8859-1". >> I tried to make all utf-8 but I couldn't success. I tried the filter >> approach but also doesn't help: >> >> <filter> >> <filter-name>Set Character Encoding</filter-name> >> <filter-class>servlet.CharsetFilter</filter-class> >> <init-param> >> <param-name>encoding</param-name> >> <param-value>ISO-8859-1</param-value> >> </init-param> >> </filter> >> >> <!-- Define filter mappings for the defined filters --> >> <filter-mapping> >> <filter-name>Set Character Encoding</filter-name> >> <servlet-name>action</servlet-name> >> </filter-mapping> >> >> >> Any hint will be appreciated. >> > > Hi. > > 1) By default, under HTTP (and HTML), the character set is ISO-8859-1. > So, if you do not specify anything anywhere to say something else, > everything should be > understood and processed as ISO-8859-1. > (**) > > 2) When a browser submits the contents of a <form> to a server, it will > /generally/ use > the same character set, as the one which /it thinks/ is the character set > of the *current* > page (the one which is currently shown on the screen == the one which > contains the link or > button which will send data to the server). > > So, what you need to do, is to look in the browser in the "Page info" or > similar, which > character set the browser believes is in effect for the current page. > (*) > > 3) Normally also, this character set will be the one which, in the page > source, is > indicated by the following tag : > <meta http-equiv="content-type" content="text/html; charset=XXXXX" /> > (it is the XXXXX above) > So make sure that all the pages that you send to the browser contain such > a tag, with the > correct character set. > > 4) Thus, if your pages are UTF-8, then any link in the page which "calls" > the server, is > going to send all values to the server in the UTF-8 character set. > That includes the "query-string" part of URLs, and also the POST > parameters which may be sent. > If that is the case, you need to tell the server that it is so, because > that is /not/ the > default for HTTP. > So that is when you should use the "URIencoding" parameter : if your forms > are sending > requests to the server containing a query-string. > > 5) if your forms are sending values by means of POST requests, then the > situation gets > more complicated, if you use a character set other than ISO-8859-1. > But let's leave that for the next time. > > A question maybe, for later : what is/are the (human) language(s) that are > used on your > pages ? > > > (*) I also /strongly/ advise, for issues of that nature, that you get a > browser plug-in > such as HttpFox or similar (for Firefox) or Fiddler2 (for Internet > Explorer), to be able > to check exactly what is being sent from the browser to the server and > vice-versa. > > (**) Unfortunately, in Java the internal representation for characters and > strings is > Unicode, which can lead to mixups if you are not careful. > > Or, let me turn this around : it is much better to use Unicode as a > character set, than > any other "alphabet". But unfortunately, in the WWW, for historical > reasons, the default > is still ISO-8859-1, which creates many problems when one tries to deal > with non-English > languages. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > > > -- View this message in context: http://old.nabble.com/URIEncoding-tp32989250p32991998.html Sent from the Tomcat - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org