الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

إرسال حروف عربية عبر json

بدأه هدف الشمالي في 3 مارس 2012 · 3 رد · 745 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله

الإخوة أنا أرسل بيانات عبر برنامج جافا باستخدام json إلى صفحة PHP ومنها لقاعدة البيانات وهذي هي صفحة الـ PHP بعد حذف بعض المعلومات الخاصة بالدخول للقاعدة : arabicAdd.php

والمشكلة أني أجد المعلومات في الجدول برموز غريبة , علمًا أنه لايوجد خطأ جهة السيرفر وإنما في كود الجافا وهذا هو الكود

وهو معمول ببرنامج NetBeans IDE هنا : Frame_jason1.java

وتقدرو تقولو أني جهة الخادم متأكد أن مافيه مشاكل من حيث ترميز القاعدة وماشابه لأني أرسلت للقاعدة عربي من صفحة PHP .

أتمنى إنقاذي فأنا بحاجة ماسة ولا أعرف ماذا أفعل .

تم تعديل هذه المشاركة بواسطة هدف الشمالي في 3 مارس 2012 في 01:30

#2

يبدوا أن المشكلة لديك في الهيدر ، جرب:

post.setHeader("Content-type", "application/json");

se.setContentType("application/json;charset=UTF-8"); 
se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json;charset=UTF-8"));

ولا حاجة ل:

byte[] utf8s;
byte[] utf8s2;
        try {
            utf8s = name1.getBytes("UTF-8");
            name1 = new String(utf8s, "UTF-8");
            utf8s2 = grad.getBytes("UTF-8");
            grad = new String(utf8s2, "UTF-8");
        } catch (UnsupportedEncodingException ex) {
            Logger.getLogger(Frame_jason1.class.getName()).log(Level.SEVERE, null, ex);
        }

بالتوفيق،

1

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#3

ولا تنسى :

StringEntity se = new StringEntity(jsonString, "UTF-8");

تفضل:

public void Arabicsend1(String name1, String grad) 
	{
        String path = "path/to/service";
        HttpClient client = new DefaultHttpClient();
        HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000);

        HttpResponse response;
        try {
            HttpPost post = new HttpPost(path);
//          post.setHeader("Accept-Charset", "UTF-8");
//			post.setHeader("Content-Type", "application/json; charset=UTF-8");

            String jsonString = "{\"name\":\""+name1+"\", \"grad\":\"" + grad +"\"}";
            StringEntity se = new StringEntity(jsonString, "UTF-8");
            se.setContentType("application/json;charset=UTF-8"); 
            se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json;charset=UTF-8"));
            post.setEntity(se);
            response = client.execute(post);
            /* Checking response */
            if (response != null) {
                InputStream in = response.getEntity().getContent();
                read_server = convertStreamToString(in);
                System.out.print(read_server);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
	}
#4

فعلًا إنحلت المشكلة فجزاكما الله خيرًا ,

مواضيع مشابهة