Java 使用libgdx'发送特殊字符;s输入文本字段
我正在尝试使用libgdx的输入文本字段发送用户名。它可以很好地处理普通字符,我可以将它发送到php并保存到数据库中。但当我尝试使用特殊的土耳其字符,如“ö,ş,ğ,ç,ü”等时,它不会发送这些字符以及后面的字符。另外,可以在textfield中看到特殊字符,但不会将它们发送到php文件 我看到一篇关于这个问题的帖子,我已经将libgdx版本更新为最新的稳定版本。但我还是有同样的问题 我使用的代码如下:Java 使用libgdx'发送特殊字符;s输入文本字段,java,php,android,libgdx,Java,Php,Android,Libgdx,我正在尝试使用libgdx的输入文本字段发送用户名。它可以很好地处理普通字符,我可以将它发送到php并保存到数据库中。但当我尝试使用特殊的土耳其字符,如“ö,ş,ğ,ç,ü”等时,它不会发送这些字符以及后面的字符。另外,可以在textfield中看到特殊字符,但不会将它们发送到php文件 我看到一篇关于这个问题的帖子,我已经将libgdx版本更新为最新的稳定版本。但我还是有同样的问题 我使用的代码如下: HttpRequest request = new HttpRequest(HttpMeth
HttpRequest request = new HttpRequest(HttpMethods.POST);
request.setUrl("http://xxxxx.com/create_usr.php");
request.setContent("name=" + name);
我是否需要在这个http代码中添加更多的内容来发送这些字符
此外,我在网上看到了一些额外的代码,我不知道它们是做什么的,但我在seturl之前添加了它们,但没有起作用:
request.setHeader("Accept-Charset", "utf-8");
request.setHeader("Content-Type", "application/x-www-form-urlencoded");
已解决:
我用下面的代码更改了httprequest部分,它成功了。我还更改了post方法以获得:
HashMap<String, String> parameters = new HashMap<String, String>();
parameters.put("name", name);
HttpRequest request = new HttpRequest(HttpMethods.GET);
request.setUrl("http://xxxxx.com/create_usr.php"");
request.setContent(HttpParametersUtils.convertHttpParameters(parameters));
HashMap参数=新的HashMap();
参数。put(“名称”,名称);
HttpRequest请求=新的HttpRequest(HttpMethods.GET);
request.setUrl(“http://xxxxx.com/create_usr.php"");
setContent(HttpParametersUtils.convertHttpParameters(parameters));
尝试从web浏览器调用您的URL,以确定libgdx应用程序或php中是否存在问题。可能您的数据库(字段)位于UTF8中,但您的mySql连接不存在,因此值得检查
另外,我不确定,但也许您必须对参数值进行编码,并在php端对其进行解码
谢谢MilanG,使用web浏览器它工作得非常完美。我想这都是因为使用了错误的代码。我已经用新的代码行解决了这个问题,并将解决方案粘贴到了上面。希望它能帮助其他人:)