我正在使用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()
魔法来获取实际内容,并构造一个String。也许这会导致奇怪的编码问题?不确定。
要检索数据,我只需:
<%=recipe.getContent().getValue()%>
由于content
的类型为Text(应用引擎类型),因此我使用.getValue()
来获取实际结果。我不认为这是检索数据的问题,因为我可以直接在在线应用引擎数据存储区查看器中看到奇怪的字符。
答案 0 :(得分:0)
我猜不会。
因此,将其更改为UTF-8,您的问题应该得到解决。
问候
迪迪埃
答案 1 :(得分:0)