将blob(byte [])存储到Google App Engine数据存储区后,我得到了一个'?'在从Datastore获取相同数据后附加到我的数据。
我有一个想法,这与编码有关,因为我不确定GAE默认编码是什么,所以我尝试了几个字符集,我得到了不同的结果,我想如果我分享这个,我可以得到更多的光问题。
在我的DBHelper类中(Util用于保存和获取数据), 当我最初使用以下内容保存数据时
Entity resultEntity = new Entity("Entity");
resultEntity.setProperty("HtmlResult", new Blob(str.getBytes()))
我得到了一个'?'附加到我的结果的末尾(从本地数据存储区获取的数据)
将我的代码更改为以下内容后:
resultEntity.setProperty(" HtmlResult",new Blob(str.getBytes(Charset.forName(" UTF-8"))));
然后我将��附加到结果上。
另外,我认为当我使用ISO-8859-1
时,我有�。很抱歉没有确定,但我必须在每次测试之前部署到GAE。
此问题与Datastore in Hosted GAE- Google app engine appends '?' character during data retrieval有关,但不直接。
请提出您的建议。
风云:我也试过了
<env-variables>
<env-var name="DEFAULT_ENCODING" value="UTF-8" />
</env-variables>
请注意,我在本地计算机上没有此问题,只有在Google应用引擎上部署和测试我的应用时才会出现此问题。