ورود

View Full Version : مشکل با نوشته های فارسی در vb6 بدون نصب زبان



1009645
جمعه 07 تیر 1392, 11:50 صبح
سلام دوستان و اساتید

بنده برنامه ای نوشتم که به صورت اتوماتیک برای من تکست های ثابتی رو برای یک آدرس ارسال می کنه !

بنده اون متن ها رو می تونم داخل خود کد برنامه قرار بدم یا داخل تکست باکس ها وارد کنم چون ثابت هستند و نیازی به تغییر ندارند !

اما از اونجایی که برنامه قراره روی VPS اجرا بشه و من دسترسی برای نصب زبان فارسی ندارم می خواستم کمکم کنید که مشکل داخل عکس رو حل کنم اگر میشه !
106258

از تمام دوستانی که کمک می کنند تشکر می کنم :قلب::قلب::قلب::قلب::قلب:

AxissXs
جمعه 07 تیر 1392, 20:25 عصر
اینو یه نگاه بنداز کمکت میکنه
http://stackoverflow.com/questions/14080723/how-to-display-unicode-characters-in-vb6

1009645
یک شنبه 09 تیر 1392, 13:15 عصر
چیز زیادی متوجه نشدم ! اگر ممکنه کسی مقاله فارسی در این مورد قرار بده ...

1009645
سه شنبه 11 تیر 1392, 19:22 عصر
دوستان و اساتید ؛ کسی نمی تونه در این زمینه کمکی بکنه ؟

just4froum
سه شنبه 11 تیر 1392, 21:08 عصر
با سلام :

فکر نکنم این کاری که می گم از نظر برنامه نویسی درست باشه ولی فکر می کنم مشکلت رو حل کنه.

ولی در کل برای این جور برنامه ها winsock عالی هست و webbrowser خوب جواب نمی ده.

شما اون متنی رو که می خوای با webbrowser وارد سایت کنی رو در یک فایل txt با فرمت UTF-8 ذخیره کن بعد بیا در برنامت متن اون فایل txt رو بریز توی یک متغیر بعد به صورت مستقیم(یعنی نریزش توی یک تکست باکس یا روش عملیاتی انجام نده) وارد webbrowser کن.

فکر کنم درست شه.

برای این که بخوای یک فایل UTF-8 رو بخونی می تونی از تابع زیر استفاده کنی.

Private Function Text(Path As String) As String
With CreateObject("ADODB.Stream")
.open
.Charset = "UTF-8"
.LoadFromFile Path
Text = .ReadText
End With
End Function


موفق باشید

1009645
سه شنبه 11 تیر 1392, 21:36 عصر
با سلام :

فکر نکنم این کاری که می گم از نظر برنامه نویسی درست باشه ولی فکر می کنم مشکلت رو حل کنه.

ولی در کل برای این جور برنامه ها winsock عالی هست و webbrowser خوب جواب نمی ده.

شما اون متنی رو که می خوای با webbrowser وارد سایت کنی رو در یک فایل txt با فرمت UTF-8 ذخیره کن بعد بیا در برنامت متن اون فایل txt رو بریز توی یک متغیر بعد به صورت مستقیم(یعنی نریزش توی یک تکست باکس یا روش عملیاتی انجام نده) وارد webbrowser کن.

فکر کنم درست شه.

برای این که بخوای یک فایل UTF-8 رو بخونی می تونی از تابع زیر استفاده کنی.

Private Function Text(Path As String) As String
With CreateObject("ADODB.Stream")
.open
.Charset = "UTF-8"
.LoadFromFile Path
Text = .ReadText
End With
End Function


موفق باشید

من کد رو به این صورت تغییر دادم که اشتباه هم هست احتمالا :



Private Sub cmdGet_Click()
With CreateObject("ADODB.Stream")
.open
.Charset = "UTF-8"
.LoadFromFile Path("C:\Users\PC\Desktop\New Proj\1.txt")
txtMatn.Text = .ReadText
End With
End Sub

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

just4froum
سه شنبه 11 تیر 1392, 21:38 عصر
خط
.LoadFromFile Path("C:\Users\PC\Desktop\New Proj\1.txt")
رو بدین صورت تغییر بدهید :

.LoadFromFile "C:\Users\PC\Desktop\New Proj\1.txt"

موفق باشید

just4froum
سه شنبه 11 تیر 1392, 21:40 عصر
در ضمن گفتم که این متنی رو که از فایل txt لود می کنید توی یک تکست باکس نشان ندهید و به صورت مستقیم وارد webbrowser کنید.

ولی شما در این خط
txtMatn.Text = .ReadText

دارید اونو وارد یک تکست باکس می کنید.

1009645
سه شنبه 11 تیر 1392, 22:24 عصر
روی vps تست شد ولی جواب نمیده !!!

میشه این تکست رو داخت یک سایت قرار داد و بعد با یک دستور با Web Browser داخل Text Box کپی کنیم ؟ لبته فکر کنم نتیجش باز هم به همین شکل باشه

just4froum
سه شنبه 11 تیر 1392, 22:44 عصر
بله از اون نظر نتیجه باید یکی باشد.

amir2844
سه شنبه 15 مرداد 1392, 11:59 صبح
سلام. برای حل مشکل میتونید از یک تیکه برنامه که کارکتر رو تبدیل به Unicode میکنه استفاده کنید.

یادتون باشه حتما یه لیبل به نام L1 توی فرم بسازید. خروجی این فانکشن رشته تبدیل شده به یونیکد هستش

Private Function Change2(Text1 As String) As String
Dim r As String
r = Text1
r = Replace(r, "%", "%25")
r = Replace(r, "ا", "%d8%a7")
r = Replace(r, "آ", "%d8%a2")
r = Replace(r, "ب", "%d8%a8")
r = Replace(r, "پ", "%d9%be")
r = Replace(r, "ت", "%d8%aa")
r = Replace(r, "ث", "%d8%ab")
r = Replace(r, "ج", "%d8%ac")
r = Replace(r, "چ", "%da%86")
r = Replace(r, "ح", "%d8%ad")
r = Replace(r, "خ", "%d8%ae")
r = Replace(r, "د", "%d8%af")
r = Replace(r, "ذ", "%d8%b0")
r = Replace(r, "ر", "%d8%b1")
r = Replace(r, "ز", "%d8%b2")
r = Replace(r, "ژ", "%da%98")
r = Replace(r, "س", "%d8%b3")
r = Replace(r, "ش", "%d8%b4")
r = Replace(r, "ص", "%d8%b5")
r = Replace(r, "ض", "%d8%b6")
r = Replace(r, "ط", "%d8%b7")
r = Replace(r, "ظ", "%d8%b8")
r = Replace(r, "ع", "%d8%b9")
r = Replace(r, "غ", "%d8%ba")
r = Replace(r, "ف", "%d9%81")
r = Replace(r, "ق", "%d9%82")
r = Replace(r, "ک", "%da%a9")
r = Replace(r, "گ", "%da%af")
r = Replace(r, "ل", "%d9%84")
r = Replace(r, "م", "%d9%85")
r = Replace(r, "ن", "%d9%86")
r = Replace(r, "و", "%d9%88")
r = Replace(r, "ه", "%d9%87")
r = Replace(r, "ي", "%d9%8a")
r = Replace(r, "ئ", "%d8%a6")
r = Replace(r, "ء", "%d8%a1")
r = Replace(r, "ة", "%d8%a9")
r = Replace(r, "ؤ", "%d8%a4")
r = Replace(r, "إ", "%d8%a5")
r = Replace(r, "أ", "%d8%a3")
r = Replace(r, "؟", "%d8%9f")
r = Replace(r, "،", "%d8%8c")
r = Replace(r, "؛", "%d8%9b")
r = Replace(r, "ـ", "%d9%80")
r = Replace(r, "«", "%c2%ab")
r = Replace(r, "»", "%c2%bb")
r = Replace(r, "َ", "%d9%8e")
r = Replace(r, "ً", "%d9%8b")
r = Replace(r, "ٌ", "%d9%8c")
r = Replace(r, "ٍ", "%d9%8d")
r = Replace(r, "ُ", "%d9%8f")
r = Replace(r, "ِ", "%d9%90")
r = Replace(r, "ّ", "%d9%91")
r = Replace(r, ",", "%2c")
r = Replace(r, "]", "%5d")
r = Replace(r, "[", "%5b")
r = Replace(r, "\", "%5c")
r = Replace(r, "}", "%7d")
r = Replace(r, "{", "%7b")
r = Replace(r, ":", "%3a")
r = Replace(r, "|", "%7c")
r = Replace(r, "?", "%3f")
r = Replace(r, ";", "%3b")
r = Replace(r, "<", "%3c")
r = Replace(r, ">", "%3e")
r = Replace(r, "@", "%40")
r = Replace(r, "#", "%23")
r = Replace(r, "$", "%24")
r = Replace(r, "^", "%5e")
r = Replace(r, "&", "%26")
r = Replace(r, "=", "%3d")
r = Replace(r, "'", "%27")
r = Replace(r, "+", "+")
r = Replace(r, l1.Caption, "%22")
r = Replace(r, " ", "+")
Change2 = r

End Function