2016-04-24 21 views
0

私はアンドロイドアプリケーションを持っています。これはPHPスクリプトに接続し、データベースからデータを取り出して結果を返します。言語設定を除いて、すべてうまく動作します。私は言語をdainshとUTF-8に設定しました。私が考えることができる場所です。データベースに送るときはデンマーク語ですが、戻り値はデンマーク語ではありません。ここ はアンドロイド言語を設定してくださいandroid to 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" である

enter image description here 言う: "n個の\ u00f8gler"}問題です。それはデンマークの "nøgler"だったはずです。 PHPは、データベースへの接続ファイルに次のように設定されています 「mysqli_set_charset($詐欺、 『UTF8』);

とmysqliのデータベースをデンマーク語に設定されている - この

のように

enter image description here

そして enter image description here

それでは、私は?? をしないのです表でチェックするとき、私はすべてのヘルプは高く評価されるだろう、テーブルにデンマークの文字を得るか:)

+0

私はそれがmysqliではなく、PHPのエンコーディングだと思います。 mb_internal_encoding( "UTF-8")を設定してみてください。 – vishwakarma09

+0

これは、エスケープされたユニコード文字のようです。 'json_encode'で' JSON_UNESCAPED_UNICODE'フラグを試してください。 http://php.net/json_encode –

答えて

0

私は一度、このような問題に遭遇しました。私はすべての文字セットを正しく設定していましたが、何をしても正しく動作しませんでした。最終的には、保存するときにurlencode($ content)私のデータベースとデータを取得するときのurldecode($ content)

0

私はペルシア語の文字のためのこのような問題があり、私は私のために働く悪い方法でそれを解決しました。私はちょうど私自身のエンコーディングを定義し、2つの関数FAtoEN(s)ENtoFA(s)を作った。 FAtoENは、キーボードキーを使用して各ペルシャ文字を英語の文字に変更します。たとえば、キーボードがペルシア語のときにkキーを使用するので、 "ä"から "k"に変更します。もう1つの関数はこの逆を行います。

関連する問題