我有一个android应用程序,它连接到一个PHP脚本,然后从数据库中提取数据并返回结果。除语言设置外,它都可以正常工作。我将语言设置为dainsh和UTF-8,我可以想到的所有地方,并且当我将它发送到数据库时,它是丹麦语,但返回值不是丹麦语。 下面是Android的设置语言安卓到php-mysqli
URL url = new URL(selectUrl);
HttpURLConnection httpUrlConncetion = (HttpURLConnection) url.openConnection();
httpUrlConncetion.setRequestMethod("POST");
httpUrlConncetion.setDoInput(true);
httpUrlConncetion.setConnectTimeout(10000);
httpUrlConncetion.setRequestProperty("Accept-Language", "da_DK");
httpUrlConncetion.setRequestProperty("Content-type", "application/json");
httpUrlConncetion.connect();
String line = "";
StringBuilder sb = new StringBuilder();
int Httpresult = httpUrlConncetion.getResponseCode();
Log.d(TAG, httpUrlConncetion.getResponseMessage().toString());
if (Httpresult == HttpURLConnection.HTTP_OK) {
InputStream inputStream = httpUrlConncetion.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "iso-8859-1"));
while ((line = reader.readLine()) != null) {
sb.append(line);
list.add(line);
}
result=sb.toString();
for(int i=0;i<list.size();i++){
Log.d(TAG, "min nye list" + list.get(i) + "\n");
}
我的PHP脚本调用和logcat的说
是, “minegen”: “N \ u00f8gler”}这就是问题所在。它应该是丹麦的“nøgler”。 的PHP已经这样设置在连接文件到数据库: “mysqli_set_charset($ CON,‘UTF-8’);
和mysqli的数据库已被设置为丹麦语 - 这样
所以我缺少什么? 检查时,任何帮助,将不胜感激:)
我认为这不是mysqli,而是PHP编码。尝试设置mb_internal_encoding(“UTF-8”); – vishwakarma09
这看起来像一个逃脱的Unicode字符。尝试'json_encode'上的'JSON_UNESCAPED_UNICODE'标志。 http://php.net/json_encode –