PDA

View Full Version : ارسال پارامتر UTF8 برای webservice



javad3151
یک شنبه 08 اردیبهشت 1387, 08:49 صبح
سلام
یک وب سرویس ارسال sms خریدم که یکی از پارامتر های اون message که باید string باشه
وقتی انگلیسی پیام میفرستم مشکلی نداره ولی پیام های فارسی رو بصورت ????? نمایش میده !
من با تابع زیر تبدیل به utf8 می کنم ولی بازهم فایده نداره:افسرده:


Public Shared Function ConvertEncoding(ByVal srcStr As String, ByVal srcEnc As Encoding, ByVal destEnc As Encoding) As String
Dim bytes() As Byte = srcEnc.GetBytes(srcStr)
bytes = Encoding.Convert(srcEnc, destEnc, bytes)
Return destEnc.GetString(bytes)
End Function

send parameter:
s2.multiSend("***", "***", numbers, "****", ConvertEncoding(Me.tx_msg.Text, Encoding.Default, Encoding.Unicode), 0, i, i2, "")


اگر دوستان راهنمایی کنند خیلی ممنون میشم

amirsajjadi
یک شنبه 08 اردیبهشت 1387, 13:18 عصر
شما باید متن فارسیتونو به PDU تبدیل کنید

javad3151
چهارشنبه 11 اردیبهشت 1387, 08:20 صبح
خيلي ممنون ،
ولي فكر كنم PDU براي وقتي باشه كه بخواهيم با موبايلي كه مستقيم به سيستم متصله (نه با وب سرويس) و با دستورات AT ، اس ام اس ارسال كنيم

ولي من تستش ميكنم.

amirsajjadi
چهارشنبه 11 اردیبهشت 1387, 11:22 صبح
دوست من وقتی که میخواین sms فارسی ارسال کنید باید اون اس ام س رو به pdu تبدیل کنید

raravaice
چهارشنبه 11 اردیبهشت 1387, 12:45 عصر
من با تابع زیر تبدیل به utf8 می کنم ولی بازهم فایده ندارهاین راهش نیست جواد جان.


دوست من وقتی که میخواین sms فارسی ارسال کنید باید اون اس ام س رو به pdu تبدیل کنیداینم راهش نیست امیر جان.


وقتی از وب سرویس استفاده میکنی باید با UrlEncode کوری ارسال کنی تا هم حروف فارسی ارسال بشه و هم علامتها و کاراکتر های خاص.

موفق باشید

javad3151
پنج شنبه 12 اردیبهشت 1387, 08:45 صبح
وب سرويس من يكسري توابع خاص تعريف شده داره ، كه پارامتر هاي مختلف از جمله متن پيام رو (كه Stringه) ميگيره.

http://www.gqomicis.com/send.jpg

راستش ديگه كلافه شدم ، هركاري ميكنم نميشه، اگر راهي به ذهنتون رسيد بگيد

raravaice
پنج شنبه 12 اردیبهشت 1387, 11:17 صبح
سلام
جواد جان بهت گفتم که چیکار کن !
message رو urlEncode کن درست میشه.

موفق باشید

javad3151
جمعه 13 اردیبهشت 1387, 20:19 عصر
من به چند شیوه اینکار رو انجام میدم ولی بازم نمیشه :


Dim msg2 as String
1:
server.UrlEncode(msg2)

2:
HttpUtility.UrlEncode(msg2)

3:
HttpUtility.UrlEncode(msg2,encoding.UTF8 )

4:
HttpUtility.UrlEncode(msg2,encoding.Unicode )

شیوه کارم اشتباهه؟

raravaice
شنبه 14 اردیبهشت 1387, 11:39 صبح
نه کاملا درسته؟!
مشکل چیه؟

موفق باشید