gpt4 book ai didi

java - Google App Engine - 数据以一种奇怪的方式存储

转载 作者:搜寻专家 更新时间:2023-11-01 03:55:55 26 4
gpt4 key购买 nike

我正在使用 Java。这是插入数据存储区的纯数据:

<p>Something</p>\n<p>That</p>\n<p> </p>\n<p>Should.</p>\n<p> </p>\n
<p>I have an interesting question.</p>\n<p>Why are you like this?</p>\n
<p> </p>\n<p>Aren't you fine?</p>

这是它的存储方式:

<p>Something</p> <p>That</p> <p>�</p> <p>Should.</p> <p>�</p> 
<p>I have an interesting question.</p> <p>Why are you like this?</p>
<p>�</p> <p>Aren't you fine?</p>

奇怪的符号是怎么回事?这只发生在现场,而不是在我的本地 dev_appserver 上。

编辑

这是插入数据的代码:

String content = ""; // this is where the data is stored
try {
ServletFileUpload upload = new ServletFileUpload();
FileItemIterator iter = upload.getItemIterator(request);
while(iter.hasNext()) {
FileItemStream item = iter.next();
InputStream stream = item.openStream();

if(item.isFormField()) {
String fieldName = item.getFieldName();
String fieldValue = new String(IOUtils.toByteArray(stream), "utf-8");
LOG.info("Got a form field: " +fieldName+" with value: "+fieldValue);
// assigning the value
if(fieldName.equals("content")) content = fieldValue;
} else {
...
}
}
} catch (FileUploadException e){
}

...
// insert it in datastore
Recipe recipe = new Recipe(user.getKey(), title, new Text(content), new Text(ingredients), tagsAsStrings);
pm.makePersistent(recipe);

它是一个 multipart/form-data 表单,所以我必须执行那个小小的 item.isFormField() 魔术来获取实际内容,并构造一个字符串。也许这导致了奇怪的编码问题?不确定。

要检索数据,我只需执行以下操作:

<%=recipe.getContent().getValue()%>

由于 content 是文本类型(应用引擎类型),我使用 .getValue() 来获取实际结果。我认为这不是检索数据的问题,因为我可以直接在在线应用引擎数据存储查看器中看到奇怪的字符。

最佳答案

你在使用 eclipse 吗?如果是,请在"file">“属性”>“文本文件编码”下检查您的文件是否为 UTF-8 编码。

我猜不会。

因此,将其更改为 UTF-8,您的问题应该得到解决。

问候

迪迪埃

关于java - Google App Engine - 数据以一种奇怪的方式存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5707266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com