Salam hamiya. Mənim belə bir sualım var, bəlkə kimsə rastlaşar belə bir problemlə. JSP də şəkil upload etmək ucun formda enctype=”multipart/form-data” yazıram. Formun action nu servlet class a gondərirəm və orda inputlardakı qiymətləri ozuyuram. Amma məndə unicode problemi yaranır. Çox axtardım internetde, müxtəlif həll yolları tapdım. Amma tam həll olunmur problem. En son vəziyyətdəki kodu da bura yazıram. Əgər belə bir problemlə rastlaşan olubsa köməklik göstərsin
HashMap map = new HashMap(); try { List items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request); for (FileItem item : items) { if (item.isFormField()) { String fieldname = item.getFieldName(); String fieldvalue = new String(item.getString().getBytes(), "UTF-8"); map.put(fieldname, fieldvalue); System.out.println("name= "+fieldname); System.out.println("value= "+fieldvalue); } else { String fieldname = item.getFieldName(); String filename = FilenameUtils.getName(item.getName()); InputStream filecontent = item.getInputStream(); } } } catch (FileUploadException e) { throw new ServletException("Cannot parse multipart request.", e); }
Verilmiş cavablar və yazılan şərhlər (3 cavab var)
0
String fieldvalue = new String(item.getString().getBytes(), “UTF-8”); bu kod qismən dəyişiklik etdi nəticədə. Əvvə qarişiq simvollar çıxırdı, bu koddan sonra sual işarəsi çıxır.
2
Bu sətri
String fieldvalue = new String(item.getString().getBytes(), “UTF-8”);
Bununla əvəz et yoxla
String value = item.getString(“UTF-8”); və ya String value = item.getString(“UTF-8”).trim();
Javada yeniyəm. Səhv də etmiş ola bilərəm:)
0
Duz deyirsizş Həmin kod işləyir. Öz dokumentasiyasında var idi. Təşəkkürlər 🙂
Sual verin
Cavab verin