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

إنشاء ملف نصي بترميز Utf-8

بدأه mas123 في 16 يناير 2010 · 7 رد · 933 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بدون مقدمات يوجد كود لإنشاء ملف نصي وكلنا يعرفه

ولكنه يجعل ترميز الملف الناتج ANSI

فهل يوجد كود لتحديد ترميز الملف النصي قبل الإنشاء

أو حتى تغيير ترميزه بعد الإنشاء

؟؟

برجاء تدخل الأساتذة الكبااااااااااااااااااااااار

التغير هو القانون الدائم للحياة.ودوام الحال من المحال

فلماذا لا نتغير بإرادتنا إلى ما نريد؟ قبل أن تغيرنا الحياة مجبرين إلى ما لا نريد؟

موقعي

#2

فين أهل الخبرة

أحتاج هذا الأمر ضروري في التحويل من access إلى mysql

تم تعديل هذه المشاركة بواسطة mas123 في 16 يناير 2010 في 19:05

التغير هو القانون الدائم للحياة.ودوام الحال من المحال

فلماذا لا نتغير بإرادتنا إلى ما نريد؟ قبل أن تغيرنا الحياة مجبرين إلى ما لا نريد؟

موقعي

#3

اخي الفاضل محمد صالح

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

الذي اعرفه عن الترميز بصيغة UTF-8 انها موجوده في برنامج الأكسيس تحت صيغة التصدير لجداول واستعلامات قواعد البيانات ويكون الترميز هو acUTF8

ف‘ن كنت تستطيع استيراد الملف النصي الى جدول في قاعدة البيانات فعندها تستطيع التحويل والتصدير مباشرة الى ملف نصي بترميز UTF-8

قم بالتجربه من خلال الماكرو بالدالة OutPutTo

post-15367-12636616829463_thumb.gif

او هناك طريقة اخرى وهي عن طريق تحويل الجدول بعد استيراد الملف النصي له الى ملف XML فهو يدعم الترميز UTF-8

post-15367-12636617726452_thumb.gif

post-15367-12636617914474_thumb.gif

post-15367-12636620018617_thumb.gif

post-15367-12636620863719_thumb.gif

post-15367-12636622212462_thumb.gif

#4

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

بارك الله فيك أستاذتي زهرة ... ... ولإثراء الموضوع ... هذا مثال من خلال الكود ... بإستخدام OutputTo وهو يأخذ المعاملات التالية

expression.OutputTo(ObjectType, ObjectName, OutputFormat, OutputFile, AutoStart, TemplateFile, Encoding)

Objecttype: مطلوب ويأخذ أحد القيم التالية

acOutputForm

acOutputModule

acOutputQuery

acOutputReport

acOutputTable

Objectname : إختياري إذا كنت تريد تصدير الكائن الحالي ... وإلا يجب تحديده .. وهو تعبير نصي يمثل إسم الكائن المراد تصديره

Outputformat : إختياري .. في حالة تجاهله ستطالب بتحديده خلال التنفيذ ... وهو يمثل نوع الملف الصادر .. ويأخذ أحد القيم التالية

acFormatActiveXServer

acFormatHTML

acFormatIIS

acFormatRTF

acFormatTXT

acFormatXLS

Outputfile : إختياري .. وفي حال تجاهله ستطالب بتحديد مسار الملف المصدر وقت التنفيذ .. وهو تعبير نصي يمثل مسار الملف المصدر

Autostart : إختياري .. القيمة الإفتراضية لها false ... إذا إخترت True سيشغل الملف المصدر آليا بالبرنامج المناسب له

Templatefile : إختياري ... تعبير نصي لمسار ملف القالب .... مناسب لهذا النوع HTML, HTX, and ASP من الملفات

Encoding : إختياري ... في حال تجاهله .. سيصدر الملف بالتشفير الإفتراضي لنظام الويندوز .. وله قيم ثابته منها

acEUCJ

acUCS2

acUCS4

acUTF16

acUTF8

وبالتوفيق

koao_ExportTable.zip

تم تعديل هذه المشاركة بواسطة koao في 16 يناير 2010 في 20:54

اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

#5

أشكرك مجرد مرورك أختي الفاضلة أم عهود

وسعيد بتواصلك أخي koao

ولكن

ترميز الملف النصي بعد تصديره بالكود السابق ansi وهذه الصورة هي الدليل

ansig.th.jpg

وما أريده موجود في هذه الصورة

utf8.th.jpg

رغم أني لا أريد تصدير الجدول إلى ملف نصي بهذه الطريقة

ولكني أريده بطريقة تشبه هذا الكود في إنشاء ملف نصي

Dim f As Object, rst As Recordset, q As QueryDef
Set f = CreateObject("Scripting.FileSystemObject").CreateTextFile(CurrentProject.Path & "\txtquery.sql", True)
Set q = CurrentDb.CreateQueryDef("", "SELECT Customers.CustomerID, Customers.Phone FROM Customers;")
Set rst = q.OpenRecordset(dbOpenDynaset)
f.writeline "insert into customers (""customerid"", ""phone"") values "
With rst
Do While .EOF = False
f.writeline "(""" & rst![customerid] & """, " & rst![phone] & "), "
rst.MoveNext
Loop
End With
Set q = Nothing
Set f = Nothing

ولمرة أخرى شكرا لتواصلكم إخوتي وأحبابي

التغير هو القانون الدائم للحياة.ودوام الحال من المحال

فلماذا لا نتغير بإرادتنا إلى ما نريد؟ قبل أن تغيرنا الحياة مجبرين إلى ما لا نريد؟

موقعي

#6

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

أخي الكريم ... لعل هذا الكود يكون الحل .. ولكن يجب إزالة المرجع التالي

Microsoft ActiveX Data Objects 2.1 Library

وإضافة المرجع التالي

Microsoft ActiveX Data Objects 2.5 Library

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

    Dim stmUTF8 As ADODB.Stream
    Set stmUTF8 = New ADODB.Stream
    With stmUTF8
        .Open
        .LoadFromFile "C:\AcTxt.txt"
        .Type = adTypeText
        .Charset = "utf-8"
        .SaveToFile "C:\15.txt", adSaveCreateOverWrite
        .Close
    End With

فهذا الكود يفتح الملف "C:\AcTxt.txt" ويحفظه بإسم "C:\15.txt" وبتشفير UTF-8

أو تستطيع إستخدام الكود التالي للكتابة

    Dim stmUTF8 As ADODB.Stream
    Dim I As Integer
    Set stmUTF8 = New ADODB.Stream
    With stmUTF8
        .Open
        .Type = adTypeText
        .Charset = "utf-8"
        For I = 1 To 10
            .WriteText CStr(I), adWriteLine
            .SkipLine
        Next
        .SaveToFile "C:\15.txt", adSaveCreateOverWrite
        .Close
    End With

فهذا الكود سيفتح Stream تكتب ما تشاء ثم تحفظه بأي نوع تريد وبالتشفير الذي تريد .. والكود السابق ... سيكتب 10 أسطر كل سطر فيه رقم متسلسل من 1 إلى 10

وبالتوفيق

تم التعديل من تاريخه لتعديل الكود وإستخدام SkipLine ليكتب كل رقم في سطر

koao_SaveToUTF8.zip

تم تعديل هذه المشاركة بواسطة koao في 17 يناير 2010 في 00:06

1

اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

#7

أيوة كده

هو ده الكلام

جزاك الله كل خير

كنت قد وصلت لهذا الكود وجربته وفشل (طبعا بدون تسجيل المرجع لعدم معرفة العلاقة بينهما)

يسعدني أن أتعرف على اسمك الحقيقي أخي koao

أخوك

أبو عبد الله

محمد صالح

التغير هو القانون الدائم للحياة.ودوام الحال من المحال

فلماذا لا نتغير بإرادتنا إلى ما نريد؟ قبل أن تغيرنا الحياة مجبرين إلى ما لا نريد؟

موقعي

#8

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

الشرف لنا أخي محمد ... ويسعدني أمثالك من يثيرون المنتدى بمواضيع حيوية ... تفرض علينا المشاركة والمنافسة ... لإثراء المواقع العربية .. بما يفيد .... وفي موضوعك السابق حينما طلبت كيف نعرف الرقم الأساسي في الجدول .. كنت على تخلف 10 دقائق من مشاركتك التي حليت فيها المسألة ... ولكن ما يهم لأني إستفدت الكثير وأنا أبحث عن الحل ... وهنا تكمن الفائدة في التواصل في هذا المنتدى .. والذي يجعلنا نكتشف اشياء لم تطرأ على أفكارنا

أخوك خالد ... المحب لهذا الصرح الشامخ وأهله

وأريد أن أنوه لتعديل بسيط للكود في المشاركة السابقة وتم تغييير المرفق ايضا

تم تعديل هذه المشاركة بواسطة koao في 17 يناير 2010 في 00:16

اللهم صلي على محمد وعلى آل محمد كما صليت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

وبارك على محمد وعلى آل محمد كما باركت على إبراهيم وعلى آل إبراهيم إنك حميد مجيد

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…