بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

علامت سوال شدن نوشته های فارسی در سرور.(حل شد)

مدیریت گفتگو
علی 11 سال پیش
آخرین تغییر: 9 سال پیش

با سلام :

من چطور می تونم فارسی رو در ListView که در اندروید گذاشتم از سمت سرور که می خونه درست نشون بدم؟ در لیست ویو کلا علامت سوال میاد.

نظرات

وحید 11 سال پیش
نباید اینطور باشه. مال من سمت سرور علامت سوال هست اما اینطور نشده البته من فونت دادم. فونت بده ببین درست می شه.
علی 11 سال پیش
داخل اندروید فونت بدم؟ چطوری؟ داخل سرور فارسی رو می خونه.
وحید 11 سال پیش
مثل فونت دادن به یک متن معمولی، شما یک کلاس نمونه داری که قراره در لیست ویو تکرار بشه. به متن های اون کلاس نمونه فونت بدید.
علی 11 سال پیش
بازم نشد. نمی دونم باید چکار کنم . داخل کد های Json نباید کاری کنم؟
وحید 11 سال پیش
رو ورژن های مختلف تست کردی؟

پاسخ‌ها 4

AhmadVB 11 سال پیش

شما باید زمانی که از سرور اطلاعات را می خوانید با فرمت utf8 بخوانید.

String data = null;
private ArrayList<NameValuePair> inputArguments;
inputArguments = new ArrayList<NameValuePair>();
// add parameters for website query string
inputArguments.add(new BasicNameValuePair("parameter", "value"));



HttpParams params = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(params, connectionTimeout);
HttpConnectionParams.setSoTimeout(params, socketTimeout);
HttpClient client = new DefaultHttpClient(params);
HttpPost request = new HttpPost(url);
request.setEntity(new UrlEncodedFormEntity(inputArguments, "UTF-8"));
HttpResponse httpResponse = (HttpResponse) client.execute(request);
data = streamToString(httpResponse.getEntity().getContent());

نظرات

علی 11 سال پیش

 package fa2.ir.roofing.WaterproofingMembranes;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;


public class Webservice {

    public static String readUrl(String url, ArrayList<NameValuePair> params) {
        try {
            HttpClient client = new DefaultHttpClient();
            HttpPost method = new HttpPost(url);
            

            if (params != null) {
                method.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
               
            }

            HttpResponse response = client.execute(method);

            InputStream inputStream = response.getEntity().getContent();
            String result = convertInputStreamToString(inputStream);

            return result;
        }
        catch (ClientProtocolException e) {
            e.printStackTrace();
        }
        catch (IOException e) {
            e.printStackTrace();
        }

        return null;
    }


    private static String convertInputStreamToString(InputStream inputStream) {
        try {
            BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
            StringBuilder builder = new StringBuilder();

            String line = "";

            while ((line = reader.readLine()) != null) {
                builder.append(line);
            }

            return builder.toString();
        }
        catch (IOException e) {
            e.printStackTrace();
        }

        return null;
    }
}

 

نظرات

علی 11 سال پیش
دوست عزیز من اینو هم گذاشته بودم اینجا ولی کار نمی کنه. بازم علامت سوال تحویلم میده.
علی 11 سال پیش
دوست عزیز من اینو هم گذاشته بودم اینجا ولی کار نمی کنه. بازم علامت سوال تحویلم میده.
AhmadVB 11 سال پیش
شما توی مرورگر url را بزن ببین فارسی خروجی می گیری ؟
علی 11 سال پیش
آخ نه این چک نکرده بودم. باید چطوری درستش کنم ؟
AhmadVB 11 سال پیش
مرحله بعد ببین توی دیتابیس فارسی ریخته شده ؟ اگر درست بود کدی که برای نمایش خروجی وب سرویس هست مشکل داره اگر توی دیتابیس مشکل داره ، کدی که سمت درج اطلاعات وب سرویس هست مشکل داشته !
علی 11 سال پیش
داخل دیتا بیس جوری ست کردم که فارسی نشون میده. پس سمت کد جیسون مشکل داره؟
AhmadVB 11 سال پیش
ممکنه همین طور باشه. شاید هم فرمت webpage ای که خروجی JSON را نشان میده مشکل داشته باشد. مطمئن بشو که خروجی وب سایتی که طراحی کردی بر پایه UTF-8 باشد.
علی 11 سال پیش
الان داخل دیتابیس قسمت Collation زدم utf8_persian_ci و در قسمت کدها از cpanel خود Encoding زده utf-8 . شما تو کد های جیسون هم تعریف می کنید utf-8 رو یا لازم نیست با وجود اینها؟
Qurban 11 سال پیش
منم همین مشکل رودارم ..کلمات رویکی در میان ..فارسی و علامت سوال نشون میده در لیست ویو..!!
Qurban 11 سال پیش
توی مرور گر فارسی خروجی نمیده ولی در دیتابیس فارسی ریخته میشه ..
علی 11 سال پیش
نمی دونم باید چکار کنم ، ولی احتمالا از Json ایراد داره.
علی 11 سال پیش
خوب بعد از این همه جستجو بالاخره این کد رو داخل جیسون گذاشتم و حل شد !
علی 11 سال پیش

 mysqli_set_charset($connection,"utf8");

نظرات

سعید کاظمی 11 سال پیش
واسه منم این مشکل رو داشت , حل شد با این کد . ممنون
120814 9 سال پیش

این کد برای وارد کردن اطلاعات فارسی از سمت موبایل به سرور

 method.setEntity(new UrlEncodedFormEntity(params, "UTF-8"))

و این کد برای دریافت اطلاعات فارسی از سمت سرور و نمایش در گوشی می باشد

 mysqli_set_charset($connection,"utf8");

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .