Tomcat5 Chinese problem solving the way (transfer)

xiaoxiao2021-03-06  100

The method of the previous handling Tomcat4 is found in Tomcat5 cannot be applied to the request directly through the URL, and the information is found to find the most perfect solution. It doesn't have to be converted every place, and it is normal from GET, and POST. Write a document, posted, I hope that people with the same problem are no longer like I am just like I am just like me :-) Upload file has problems, I have to post it directly, ugly: - -------------------------------------------------- --------- Tomcat 5 Chinese problem author: kiss__sky@163.com ------------------- Problem Description: 1 Form Submitted data, with request The string returned by .GetParameter ("xxx") is garbled or? ? 2 Directly via URL such as http: ///localhost/a.jsp? Name = China, such GET requests are garbled when using Request. GetParameter ("name"); Press Tomcat4 to set Filter Or use Request.setCharacterencoding ("GBK"); no matter how this: 1 Tomcat's J2EE implementation, the process parameters submitted to the form of the POST mode prompt to process the request for the 2 Tomcat to the GET method. When the Query-String is handled, the POST method is different. (Different from Tomcat4, set the setcharacterenceeEncoding ("GBK"). Solution: First all JSP files are plus: <% @ page contentType = "text / html; charset = GB2312"%> 1 Implement a filter. Set the processing character set to GBK. (There is a complete example in Tomcat's WebApps / Servlet-Examples directory. Please refer to Web.xml and setcharacterencodingfilter configuration.) 1) Just install the% Tomcat installation directory% / WebApps / servlets-example / web-inf / class / filters The /SetCharacterencodingFilter.class file is copied to your webapp directory / filters, if there is no Filters directory, create one. 2) In your web.xml, add the following lines:

set character encoding filters.setcharacterencodingfilter Encoding GBK set character encoding / *

3) Complete.

2 Get method solution

1) Open Tomcat's server.xml file, find

Blocks, add as follows:

Uriencoding = "GBK"

Complete shall be as follows:

2) Restart Tomcat, everything OK.

Perform the following JSP page page test is successful

<% @ Page ContentType = "Text / HTML; Charset = GB2312"%> <% @ page import = "java.util. *"%> <% string q = request.getParameter ("q"); q = q = = NULL? "No value": q;%> News list Show </ title> <meta http-equiv = content-type content = "text / html; charSet = GB2312> < Meta http-equiv = prgma content = no-cache> <body> You submitted: <% = q%> <br> <form action = "tcnchar.jsp" method = "post"> Enter "in Chinese: <input type = "text" name = "q"> <input type = "submit" value = "OK"> <br> <a href="tcnchar.jsp?q= 中国"> By GET method submit </ form > </ Body> </ html></p> <p>Test Results If you enter a text box or a bit chain will display: You submit "China", explain the success !!!!! 2. Give you a conversion function // converted to GB2313 code public string ex_Chinese (String str) {IF (Str == NULL) {str = "";} else {Try {str = new string (Str.getbytes ("ISO-8859-1"), "GB2312");} catCH (Exception EX) {}} Return Str;</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-104160.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="104160" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.040</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = 'WSlSr1uOUgbRZ45NHvS5QGgD3yZGKMQedc5_2FbTbZt9rfUjbPqYMx_2BgcXrVSt2XLz1H3ue7lF2dC7P49Fl_2F9lTg_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>