أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

وصف تخزين البيانات UTF-8 في SQL Server

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

اضغط هنا لرابط المقالة باللغة الانجليزية232580
الموجز
يجب أن تعامل بعض التطبيقات (خاصةً تلك المستندة إلى ويب) مع بيانات Unicode ترميز مع أسلوب الترميز UTF-8. SQL Server 7.0 و SQL Server 2000 استخدام Unicode ترميز مختلف (UCS-2) كما لا تتعرف على UTF-8 كبيانات حرفاً صحيحاً. تتناول هذه المقالة بعض الخيارات حول التعامل مع هذا الموقف.
معلومات أخرى
يمكن أن يكون ترميز بيانات Unicode بعدة طرق مختلفة. UCS-2 و UTF-8 طريقتان الشائعة لتخزين النقوش البت التي تمثل أحرف Unicode. Microsoft Windows NT SQL Server ، ، COM ، و برنامج تشغيل SQL Server ODBC و Java موفر OLEDB كافة داخليًا تمثل بيانات Unicode كـ UCS-2.

تتضمن الخيارات الخاصة باستخدام SQL Server 7.0 أو SQL Server 2000 كملقم الواجهة الخلفية لتطبيق ترسل وتتلقى بيانات Unicode المرمزة كـ UTF-8:
  1. إذا كان التطبيق يستخدم صفحات الملقم النشطة (ASP) وكنت تستخدم 5.0 من ملقم معلومات إنترنت (IIS) و نظام التشغيل Microsoft Windows 2000 يمكنك إضافة "< % Session.Codepage=65001 % >" إلى برنامج نصي ASP من جانب الخادم الخاص بك. هذا يجعل IIS لتحويل كافة السلاسل التي تم إنشاؤها بشكل حيوي (مثال: Response.Write) من UCS-2 إلى UTF-8 تلقائياً قبل إرسالها إلى العميل.

    إذا لم تكن تريد تمكين جلسات عمل يمكنك بدلاً من استخدام التوجيه من جانب الملقم "< % @ صفحة الترميز اللغوي = 65001 % >".

    يتم أيضاً تحويل أية بيانات UTF-8 المرسلة من العميل إلى خادم عبر GET أو POST إلى UCS-2 تلقائياً. خاصية Session.Codepage هي الأسلوب المستحسن لمعالجة البيانات UTF-8 داخل تطبيق ويب. لا يتوفر هذا الإعداد مخطط على IIS 4.0 و Windows NT 4.0. للحصول على مزيد من المعلومات، راجع المقالة التالية في "قاعدة المعارف لـ Microsoft:
    254313ظهور رسالة خطأ: Active Server صفحات خطأ ASP 0203 رمز غير صالح
  2. ترجمة من UCS-2 أو UTF-8 بالشكل المناسب ضمن التطبيق. يوجد نموذج التعليمة البرمجية لهذا النوع من التحويل في موقع Unicode Consortium:

    يمكن العثور على وصف موجز الخوارزمية لتحويل UCS-2 إلى UTF-8 في المستند "إنترنت طلب عن التعليقات" RFC2279.

    على Windows NT أو Windows 2000 يمكنك استخدام الدالتين Win32 MultiByteToWideChar و WideCharToMultiByte لتحويل UTF-8 من UCS-2 بتمرير CP_UTF8 ثابتة (65001) كمعلمة الأول لوظائف.
  3. تعديل التطبيق لاستخدام UCS-2 بدلاً من ترميز UTF-8.
  4. تخزين البيانات UTF-8 الفعلي على الملقم باستخدام الأعمدة VARBINARY ثنائي IMAGE. تخزين البيانات UTF-8 على SQL Server يعني أنه لا يمكنك استخدام SQL Server فرز أو البحث عن نطاقات من هذه القيم كما لو كان البيانات البيانات حرفاً صحيحاً. أنواع عمليات على الأعمدة التي تحتوي على البيانات UTF-8 هل عدم إرجاع تتضمن النتائج المتوقعة "ORDER BY" ، أكبر - من ">"و أقل - من"<" المقارنات و الدالات معالجة سلسلة SQL Server المضمنة مثل SUBSTRING().

    ولكن، ستعمل المقارنات مساواة طالما السلاسل التي يتم مقارنتها متكافئة في مستوى بايت. لاحظ أنه إذا قمت بتخزين البيانات UTF-8 في SQL Server التي لا يجب استخدام أحرف الأعمدة (NCHAR CHAR VARCHAR وما). UTF-8 ليس حرفاً صالحاً البيانات إلى SQL Server و بواسطة تخزين بيانات الأحرف غير الأعمدة حرف مخاطرة تواجه مشاكل مثل المشكلات الموضحة في مقالات "قاعدة المعارف لـ Microsoft" التالية:
    155723INF: قطع ملقم SQL من سلسلة أحرف DBCS
    234748PRB: برنامج تشغيل ODBC ملقم SQL تحويل الأحداث اللغة إلى Unicode
    إذا تم الأخذ بعين الاعتبار هذا الخيار ضع في الاعتبار أنه إذا أردت الوصول إلى البيانات UTF-8 التي تم تخزينها داخل SQL Server من أي تطبيق آخر غير مستعرض ويب (على سبيل المثال، من تطبيق ODBC إلى ويب) ستحتاج للقيام تحويل من UTF-8 إلى UCS-2 ضمن هذا التطبيق مثل ODBC أو OLEDB أو COM ، استدعاءات Win32 API و VB وقت التشغيل C سلسلة معالجة دالات لا تعمل مع البيانات UTF-8. يؤدي ذلك إلى نقل عبء الترجمة إلى تطبيق آخر.
  5. في حالة عدم تضمين متطلباتك الحاجة لتخزين البيانات من مجموعة من اللغات التي يتم توفيرها قبل مخطط شفرة مفرد ، قد لا تحتاج إلى استخدام Unicode.
تم تقديم دعم Unicode إلى SQL Server يبدأ بـ SQL Server 7.0. حيث لا يدعم SQL Server 6.5 لتخزين بيانات Unicode ، يتم إحاطة الخيارات الوحيدة لـ SQL Server 6.5 في الخطوة 4 و الخطوة 5.
UTF16 UTF-16 UCS2 UTF8 الدولية

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 232580 - آخر مراجعة: 12/07/2005 00:56:59 - المراجعة: 4.4

Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 6.5 Standard Edition, Microsoft SQL Server 7.0 Standard Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Workgroup Edition

  • kbmt kbinfo KB232580 KbMtar
تعليقات
=">/html>ld(m); dex" class="col-sm-6 col-xs-24 ng-scope"> 대한민국 - 한국어
España - Español
Paraguay - Español
Venezuela - Español
did=1&t=">050&did=1&t=">id=1&t="> var varCustomerTracking = 1; var Route = "76500"; var Ctrl = ""; document.write("