نوشته شده توسط
ali190
باسلام
من یه فایل log از جنس یونیکد دارم که میخوام وارد جدول دیتابیسم بکنمش ولی وقتی واردش میکنم اطلاعاتش بخصوص اسامی فارسیش درهم برهم میشه
همین فایل رو وقتی با نوت پد به ANSI سیو میکنم مشکل حل میشه
کد تبدیل Unicoe به Ansi رو میخوام
ممنون میشم راهنمایی بفرمایید.
فرض کنیم در یک فایل متن Unicode فارسی داریم :
Dim unicodeLog As String
Dim bytes() As Byte
unicodeLog = "Unicode.log"
Open unicodeLog For Binary As #1
bytes = "Çíä í˜ ãÊä ÝÇÑÓí ÇÓÊ"
Put #1, , bytes
Close #1
و با کد زیر در ansi بصورت آرایه ای از بایت های ANSI دریافتش می کنیم، 0x429 کد LCID زبان فارسی است :
Dim unicodeLog As String
unicodeLog = "Unicode.log"
Dim unicode() As Byte
Open unicodeLog For Binary As #1
ReDim unicode(0 To LOF(1) - 1)
Get #1, , unicode
Close #1
Dim text As String
text = unicode
Dim ansi() As Byte
ansi = StrConv(text, vbFromUnicode, &H429)
و بصورت معکوس هم می توانیم مجددا به Unicode تبدیلش کنیم :
text = StrConv(ansi, vbUnicode, &H429)