gpt4 book ai didi

java - Google App Engine 不支持英镑等特殊字符

转载 作者:行者123 更新时间:2023-12-01 05:16:48 24 4
gpt4 key购买 nike

我有一个jsp,它接受用户的输入,还有一个servlet 来处理提交的数据。我使用 Ajax 请求来调用 servlet 并传递参数。

这是我的jsp代码:

<%@ page language="java"  import="java.util.*,com.*,bo.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>

<script type="text/javascript">


function check(){
var i = document.getElementById('input').value;
var escapedi = escape(i);
escapedi = escapedi.replace("%u2019","%27");
var xhr = new XMLHttpRequest();
xhr.open("GET","LinkHandler?text="+ escapedi,true);
xhr.send();
}


</script>
</head>
<body>
<input type="text" id="input"/><input type="button" onclick="check()" value="Submit"/>
</body>
</html>

这是我的 Servlet 代码:

protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String text = URLDecoder.decode(req.getParameter("text"),"UTF-8");
System.out.println(text);
}

代码在普通的 Web 项目上运行良好,但是当我在 Google Web 应用程序项目上运行它时,一些特殊字符(例如英镑)显示为“?”。

如何解决这个问题?请帮助我!

最佳答案

这可能是因为 App Engine 的 Locale与您本地计算机的区域设置不同。您可以使用

打印当前本地环境
Locale.getDefault()

此外,您可以使用 setDefault() 更改它

关于java - Google App Engine 不支持英镑等特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11054110/

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