我如何使用正确的字符串字符集编码将字符串从 dao 发送到 jsp 并显示它?
Posted
技术标签:
【中文标题】我如何使用正确的字符串字符集编码将字符串从 dao 发送到 jsp 并显示它?【英文标题】:how do i use right string charset encoding for sending strings from dao to jsp and show it? 【发布时间】: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的目的是什么??? 我写它是为了告诉别人这不是答案,因为有人认为它是答案而它没有效果 【参考方案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");
【讨论】:
以上是关于我如何使用正确的字符串字符集编码将字符串从 dao 发送到 jsp 并显示它?的主要内容,如果未能解决你的问题,请参考以下文章