【问题标题】:how do i use right string charset encoding for sending strings from dao to jsp and show it?我如何使用正确的字符串字符集编码将字符串从 dao 发送到 jsp 并显示它?
【发布时间】:2017-12-28 23:57:07
【问题描述】:

产品型号:

public class product {
    private String productName;
    private String productCategory;
    private String productDescription;
    private double productPrice;
    private String productCondition;
    private String productStatus;
    private int unitInStatus;
    private String productManufacturer;

getter 和 setter . . .

道:

String myString="عروسک خرس";
    byte[] ptext=myString.getBytes("UTF-8");
    String out=new String(ptext,"UTF-8");
    product1.setProductName(out);


    product1.setProductCategory("عروسک");
    product1.setProductDescription("عرسک پول?ش? قابل شستشو");

jsp:

<td>${product.productName}</td>
   <td>${product.productCategory}</td>
   <td>${product.productCondition}</td>
   <td>${product.productPrice}</td>

结果:

نام محصول   دسته    شریایظ  (تومان) قیمت
���Ә ���    ���Ә    ��?�    15000.0

【问题讨论】:

  • product.productCondition 在 DAO 中是什么样的?您显示了其他字段,但没有显示这个?你能编辑你的问题吗?
  • 产品是模型,产品条件是其领域之一
  • 在DAO中将string转为UTF-8再转回string的目的是什么???
  • 我写它是为了告诉别人这不是答案,因为有人认为它是答案而它没有效果

标签: java spring jsp utf-8 dao


【解决方案1】:

这与操作系统有关。我将我的操作系统从寡妇更改为 linux

【讨论】:

    【解决方案2】:

    这里可能有一个问题:

    String myString = "عروسک خرس";
    

    这里编辑器必须使用与java编译器javac/jspc相同的编码。如果文件从 Windows 移动到 Linux(如前所述),默认编码可能会改变。

    用 u-escaping 检查这个。

    String myString = "\u0639\u0631\u0648\u0633"
            + "\u06A9\u0020\u062E\u0631\u0633";
    

    在项目中指定编码。

    以下不需要

    byte[] ptext = myString.getBytes("UTF-8");
    String out = new String(ptext,"UTF-8");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-03
      • 1970-01-01
      相关资源
      最近更新 更多