الويب العربي

الويب العربي (http://www.arabwebtalk.com/index.php)
-   تبادل خبرات البرمجة (http://www.arabwebtalk.com/forumdisplay.php?f=57)
-   -   مشكلة فى إرسال ال sms بالعربى للجوال (http://www.arabwebtalk.com/showthread.php?t=97272)

montaserelsawy 20-11-2008 04:41 PM

مشكلة فى إرسال ال sms بالعربى للجوال
 
السلام عليكم جميعا ورحمة الله وبركاته
عندى مشكلة عاملالى ازمة من فترة
عندى فورم فيها خانتين الاولى لرقم الجوال والاخرى للرسالة القصيرة
المهم انى برسل الرسالة بالانجليزى بتوصل عادى زى ما انا ارسلت اما العربى بتوصل عبارة عن حروف بالشكل
%656%s677%098w%
وهكذا
انا اعتقد ان المشكلة فى الترميز بس انا عاوز اعرف ازاى بيتم الترميز فى العربى علشان توصل الرسالة للجوال باللغة العربية
دة كود استلام النص من الفورم
كود PHP:

$sms=$_GET['sms'];
$sms urlencode($sms); 


spyman2020 23-11-2008 02:07 AM

السلام عليكم

بشكل عام يجب تشفير اللغة العربية الى hex باستخدام الجافا .....
هذا هو كود الجافا

كود PHP:

 function encode_al()
 { 
 
 if(
dcidcidcidcidcidcidocument.al.message.value != '')
 {
 
dcidcidcidcidcidcidocument.al.arabicHex.value'';
 var 
vText dcidcidcidcidcidcidocument.al.msg.value;
 var 
vEncoded convertToHex(vText); 
 
dcidcidcidcidcidcidocument.al.arabicHex.value =vEncoded
 } 
 } 
 
 
 function 
convertToHex(num) { 
 var 
hex ''
 var 
strHex='';
 
 for (
i=0;i<num.length;i++) 
 {
 
//alert(num.charCodeAt(i));
 
strHex=num.charCodeAt(i).toString(16).toUpperCase();
 if(
strHex.length==1)
 {
 
hex += "000" strHex
 
}
 if(
strHex.length==2)
 {
 
hex += "00" strHex
 
}
 if(
strHex.length==3)
 {
 
hex += "0" strHex
 
}
 if(
strHex.length==4)
{
 
hex += strHex
 
}

 }
 return 
hex
 } 

طبعا في نقطة مهمة وهي صيغة الارسال وهي تختلف من مزود الى اخر
للتوضيح اكثر هذا نموزج الارسال

كود PHP:

 $username    =          /////اسم المستخدم//////
 
$password    =        /////كلمة المرور////// 
 
$mno         =        //////رقم المستلم//////96500000000
 
$msg         =        //////نص الرسالة////// Welcome
 
$sid         =        //////اسم المرسل////// starvoip
 
$fl          =        ///////رسالة فلاش/////  
 
$mt          =        /////ترميز اللغة///// 

$mt === اذا اردت ان ترسل الرسالة عربية يجب ان تضع رقم 1 واذا انجليزية تضع رقم 0 وهذه الارقام تختلف من شركة الى اخر
$fl == رسالة فلاش =1 رسالة عادية =0
مثال اخر او كيف يتم الارسال
http://www.starsms.org/api.php?username=xxxx&password=PxAxSx&mno=96500000000&msg=Welcome&sid=starvoip&fl=1&mt=0

المثال السابق كان رسالة فلاش انجليزية
وهذا مثال على رسالة عربية
http://www.starsms.org/api.php?username=xxxx&password=PxAxSx&mno=96500000000&msg=06270644062A06480641064A0642002006450646002006270 64406440647&sid=starvoip&fl=1&mt=1

06270644062A06480641064A06420020064506460020062706 4406440647 = التوفيق من الله
طبعا استعملت هذا الرابط لتغير التشفير
http://www.starsms.org/unicode.html

بتمنى يكون هذا الشرح البسيط والسريع مفيد لك ولكل قارئ واعتزر اذا كان هناك اي خطا غير مقصود

والسلام عليكم

sherif_2307 25-11-2008 02:45 PM

اخي العزيز المشكلة في اليوني كود unicode


وان شاء الله لو تحب الشرح نحن في الخدمة


جميع الأوقات بتوقيت مكة المكرمة. الساعة الآن » 06:23 AM.

Powered by vBulletin
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © ArabWebTalk.Com 2004-2012