Thursday 7 September 2017

خذ بعين الاعتبار استخدام The Force Binary Collation Option


وتستخدم تعبيرات قيمة في مجموعة متنوعة من السياقات، كما هو الحال في قائمة المستهدفين من الأمر SELECT، والقيم العمود الجديدة في INSERT أو UPDATE. أو في شروط البحث في عدد من الأوامر. ويطلق على نتيجة تعبير قيمة أحيانا العددية. لتمييزه عن نتيجة تعبير الجدول (وهو الجدول). ولذا تسمى تعبيرات القيمة أيضا تعبيرات العددية (أو حتى مجرد التعبير). بناء الجملة التعبير يسمح حساب القيم من أجزاء بدائية باستخدام الحساب والمنطق، مجموعة، وغيرها من العمليات. تعبير القيمة هي واحدة من التالية: قيمة ثابتة أو حرفية عمود مرجع مرجع المعلمة الموضعية في الجسم وجود تعريف وظيفة أو بيان أعد التعبير التي تشترك تعبير اختيار الحقل استدعاء المشغل وظيفة الدعوة تعبير الكلي نافذة وظيفة الكلمة والتعبير الترتيب استعلام فرعي مفردة منشئ مجموعة منشئ الصف التعبير قيمة أخرى بين قوسين (التي تستخدم لsubexpressions مجموعة وتجاوز الأسبقية) بالإضافة إلى هذه القائمة، وهناك عدد من التركيبات التي يمكن أن تصنف على أنها تعبير ولكن لا اتبع أي قواعد النحو العامة. لديك هذه عادة دلالات وظيفة أو المشغل وسيتم شرحها في الموقع المناسب في الفصل 9. مثال على ذلك هو الشرط فارغة. وقد سبق الثوابت في القسم 4.1.2. تناقش المقاطع التالية الخيارات المتبقية. يمكن الرجوع إليها عمود في شكل: العلاقة هو اسم الجدول (ربما تأهلت مع اسم مخطط)، أو اسم مستعار لجدول المعرفة عن طريق عبارة FROM. يمكن حذف اسم الارتباط وفصل نقطة إذا كان اسم العمود هي فريدة من نوعها في جميع الجداول المستخدمة في الاستعلام الحالي. (انظر أيضا الفصل 7). ويتم استخدام إشارة المعلمة الموضعية للإشارة إلى القيمة التي يتم توريدها من الخارج إلى عبارة SQL. تستخدم المعلمات في تعريفات الدالة SQL وفي الاستعلامات المعدة. تدعم بعض المكتبات العميل أيضا تحديد قيم البيانات بشكل منفصل من سلسلة الأمر SQL، التي تستخدم المعلمات القضية إلى الرجوع إلى قيم البيانات خارج الخط. شكل إشارة المعلمة: على سبيل المثال، والنظر في تعريف وظيفة، قسم. على النحو التالي: هنا 1 مراجع قيمة حجة الوظيفة الأولى كلما تم استدعاء الدالة. إذا كان التعبير ينتج قيمة من نوع مصفوفة، ثم عنصر معين من قيمة مجموعة يمكن استخراجها بواسطة الكتابة أو العناصر المجاورة متعددة (شريحة مجموعة) يمكن استخراجها عن طريق الكتابة (وهنا يقصد الأقواس لتظهر حرفيا). كل منخفض هو في حد ذاته تعبير، والتي يجب أن تسفر عن قيمة عددية. بشكل عام يجب أن تكون بين قوسين تعبير مجموعة، ولكن قوسين يمكن حذفها عند التعبير إلى أن التي تشترك هو مجرد إشارة العمود أو المعلمة الموضعية. أيضا، يمكن السفلية متعددة تكون متسلسلة عندما الأصلي مجموعة متعددة الأبعاد. على سبيل المثال: مطلوبة الأقواس في المثال الأخير. انظر القسم 8.15 لمعرفة المزيد عن المصفوفات. إذا كان التعبير ينتج قيمة من نوع مركب (نوع صف)، ثم حقل معين من الصف يمكن استخراجها عن طريق الكتابة في العام تعبير الصف يجب قوسين، ولكن يمكن حذف الأقواس عند التعبير التي سيتم اختيارها من هو مجرد إشارة الجدول أو المعلمة الموضعية. على سبيل المثال: (وهكذا، في اشارة العمود المؤهلة هي في الواقع مجرد حالة خاصة من بناء الجملة اختيار المجال.) هناك حالة خاصة هامة هي استخراج حقل من عمود الجدول الذي هو من نوع المركب: مطلوبة الأقواس هنا لإظهار أن compositecol هو اسم العمود ليس اسم الجدول، أو أن mytable هو اسم الجدول ليس اسم المخطط في الحالة الثانية. في قائمة مختارة (انظر القسم 7.3)، يمكنك أن تسأل عن كافة المجالات من قيمة المركبة عن طريق الكتابة. : هناك ثلاثة جمل المحتملة لاستدعاء المشغل: استخدام Unicode في الشبكة البصرية FoxPro و تطبيقات سطح المكتب يوفر يونيكود آلية عرض عالمية لسلاسل في تطبيق. وهناك مشكلة مشتركة لتقديم الطلبات لعرض كل لغات مختلفة ومجموعات الأحرف المرتبطة بها بسهولة وباستمرار. يوفر يونيكود مجموعة حرف واحد يمكن أن تعرض جميع اللغات مع وجود آلية تمثيل حرف واحد أن يخفف من تعقيدات عرض لغات مختلفة جدا مثل الصينية والكورية والروسية واللغات الغربية مثل الانجليزية في شكل أو صفحة ويب واحدة. للأسف، FoxPro مرئي لا توجد الآن ر دعم يونيكود الأصلي، مما يعني أنك يجب أن تفعل شيئا من العمل الإضافي وفهم كيفية دمج سلاسل من مجموعات الأحرف متعددة وكيفية العمل مع بيانات Unicode في Visual FoxPro. في هذه المقالة، أنا أصف كيف يمكنك استخدام يونيكود مع التطبيق الخاص بك في سياق دعم لغات متعددة في وقت واحد. على الرغم من أن FoxPro مرئي يمكن عرض تي يونيكود مباشرة، فإنه يمكن عرض الطابع مجموعة مختلفة من خلال استخدام مخططات شفرة تعيين حرف معين اللغة - التي تدعم VFP بسهولة. هذا يعمل بشكل جيد للتطبيقات التي تعرض المحتوى فقط من لغة واحدة / لغة. ولكن هذا النهج لديه قيود خطيرة إذا كنت بحاجة إلى عرض سلاسل من لغات متعددة في وقت واحد. أبدأ مع لمحة عامة عن القضايا وكيفية العمل مع Unicode في عام، ثم تظهر لك كيفية استرداد وتحديث بيانات Unicode، وأخيرا، تظهر لك كيفية الحصول على محتوى يونيكود لعرض كلا في موقع ويب ومستخدم سطح المكتب الواجهات الخاصة بك. يرجى ملاحظة أن معظم الحلول المقدمة في هذه المقالة تعتمد على زوجين من FoxPro 9.0 ميزات Visual جديدة، لذلك VFP 9 أو في وقت لاحق من المستحسن بشدة. الوصول إلى البيانات VFP الأصلي وعينات SQL العبور يمكن أن تعمل في VFP 8 أو في وقت لاحق. مؤخرا شاركت في مشروع حيث كان واحدا من المتطلبات اللازمة لإنشاء المحتوى الذي يعرض في مجموعة متنوعة من اللغات بما في ذلك لغات آسيوية وشرق أوروبا، وذلك باستخدام بيانات Unicode المخزنة في قاعدة بيانات SQL Server. وشملت مشكلتي معينة قراءة المدخلات من مختلف اللغات، وتوفير البيانات SQL Server و ثم عرض والتقاط البيانات من عدة لغات على صفحة ويب واحدة. FoxPro مرئي لا توجد الآن ر دعم يونيكود مباشرة حتى التعامل مع مجموعات الأحرف الموسعة مثل السيريلية أو أي من مجموعات الآسيوية صعبة نوعا ما، ومربكا بعض الشيء. أنه لا توجد الآن ر المساعدة التي يسن هناك الكثير ر الوثائق حول هذا الموضوع. في هذه المقالة وأنا ليرة لبنانية تصف لي الاكتشافات العمل مع بيانات Unicode في Visual FoxPro وكيف في نهاية المطاف تمكنت من معالجة هذه المشكلة مع عدة حلول. على الرغم من أن التركيز في هذا المشروع بالذات كان مع بيانات الويب أنا ليرة لبنانية أيضا مناقشة لفترة وجيزة يونيكود داخل واجهة المستخدم الفوكس برو في نهاية المقال. ما هي المشكلة FoxPro مرئي يستخدم أحرف ANSI، وهي آلية غير يونيكود عرض حرف. وبدلا من ذلك يستخدم البايت ن (المعروف مشوش كما متعددة البايت، ولكنه يعني 1 أو 2 بايت) تمثيل الشخصيات. وتقوم مجموعات الأحرف متعددة البايت على صفحات الرموز التي تمثل مجموعة أحرف محددة تعيينها إلى بلغة واحدة أو أكثر. على سبيل المثال، خرائط مخطط الشفرة 1252 ويندوز الغربية إلى معظم لغات الإنجليزية وأوروبا الغربية. 1251 خرائط إلى لغات أوروبا الشرقية مثل بولندا. وما إلى ذلك وهلم جرا. وكانت هذه الآلية قبل يونيكود المشتركة في أيام DOS و Win16 و لا يزال قيد الاستخدام لتطبيقات غير يونيكود التي تعمل على 32 بت ويندوز اليوم. المشكلة مع هذه الآلية هي أن هذا المخطط من صفحات الرموز يجعل من الصعب جدا لعرض محتوى من صفحات الرموز متعددة في نفس الوقت. حتى إذا كنت ترغب في عرض النص الروسي والصيني على نفس الصفحة من المستحيل أن تفعل لأنه يمكنك فقط استخدام الشفرة في وقت واحد. عندما جاء Win32 وحولها، ودفعت مايكروسوفت جاهدة لتنفيذ الكامل يونيكود ويندوز 95 و في وقت لاحق تستند في المقام الأول على أحرف Unicode. وفي الوقت هذا سبب ضجة لأن معظم أدوات تطوير من اليوم لم تدعم يونيكود حتى الان. يونيكود في مايكروسوفت حقا ألم يأتي ر إلى حيز الواقع الكامل حتى جاء Visual Basic ثم COM الى حيز الوجود في أوائل 1990 ق. واستند مايكروسوفت اجهة مكون COM كليا على نظام جملة مبنية Unicode التي كانت شفافة تماما للمطور. FoxPro مرئي، ومع ذلك، بقيت مع العروض شخصية متعددة البايت الداخلية، وحتى يومنا هذا، لديها الحد الأدنى من الدعم فقط لليونيكود. مدى ظائف Unicode الخاص به هو في الأساس عدد قليل من الوظائف التي تسمح لك لتحويل السلاسل (بطريقة محدودة إلى حد ما) بين عدة بايت ويونيكود، فضلا عن عدد قليل من الوظائف السلسلة التي يمكن أن تعمل على سلاسل Unicode. ومع ذلك، VFP لا يوجد لديه وسيلة لعرض الواقع سلاسل Unicode باستخدام ضوابطها الأم. يمكن FoxPro مرئي، ومع ذلك، تستهلك بيانات Unicode إلى حد ما عن طريق أداء التلقائي ترجمة الشفرة. افتراضيا يستخدم FoxPro مرئي صفحة التعليمات البرمجية التي يتطابق مع إعدادات النظام. في كل مرة أي نوع من تحويل يحتاج إلى أن تتم عند قراءة بيانات Unicode من مصدر البيانات مثل SQL Server أو الوصول إلى كائن COM FoxPro مرئي تلقائيا بتحويل سلسلة من Unicode إلى صفحة الرموز المناسبة، والعكس بالعكس. هذا يعمل بشكل جيد طالما أن البيانات التي أعيد العمل مع مخططات فريد إلى هذه الشفرة معينة. حتى لو كنت تعمل مع اللغة الإنجليزية / البيانات الغربية طوال اليوم وأنا أبدا لديك مشكلة مع بيانات Unicode. أي حتى بدء التعامل مع مجموعات الأحرف الموسعة التي دون ر تطابق صفحة رموز النظام الحالي الصورة. لديك بعض السيطرة على هذه العملية عن طريق وضع الشفرة VFP الصورة، واستخدام SYS (3101) - جديدة في VFP 9 - والتي تمكنك من تكوين كيفية Visual يترجم FOXPRO سلاسل من كائنات COM. يمكنك أيضا تحويل السلاسل مباشرة من وإلى Unicode باستخدام STRCONV () مع خيارات nConversionSetting 5 و 6 على التوالي. هذه الوظائف تسمح لك اتخاذ سلسلة FoxPro و تحويله إلى يونيكود ومرة ​​أخرى باستخدام مقياس اختياري الشفرة (أو معرف الإعدادات المحلية) لتحديد كيفية حدوث الترجمة. كل هذا يعني أنه إذا كنت تقوم بتشغيل Windows في الشفرة الكورية ويمكنك استرجاع البيانات من قاعدة البيانات الكورية VFP يمكن التعامل مع هذه البيانات على ما يرام على حد سواء في شكل سلسلة وفي واجهة المستخدم. ومع ذلك، إذا كنت تقوم بتشغيل في إصدار اللغة الإنجليزية من ويندوز وتحاول قراءة نفس البيانات الكورية سوف تجد أن VFP لا يمكن قراءة أو عرض هذه البيانات (يمكنك الحصول على حفنة من علامات الاستفهام). في حين VFP يمكن إجباره على تحويل السلاسل باستخدام صفحات كود معين (مع STRCONV () أو SYS (3101) على سبيل المثال) واجهة المستخدم الفوكس برو يمكن التعامل فقط مع الشفرة واحدة في وقت و. يمكنك إضافة لغة تحويل متعدد بايت الثانوية على النظام الخاص بك في لوحة التحكم الإعدادات الإقليمية المتقدم كما هو موضح في الشكل رقم 1. ولسوء الحظ هذا الإعداد هو الألم لوضع لديك إلى إعادة تشغيل الكمبيوتر بعد تغييره. الشكل 1: تكوين الافتراضي Unicode إلى لغة الترجمة متعددة بايت. فإن اللغة التي تختارها هنا يكون بمد الافتراضية مجموعة الأحرف VFP الصورة المستخدمة لعرض النص. مع الإعدادات التي أود أن تكون قادرة على القيام التحويلات لكوريا وأود أن تكون قادرة على استخدام وسلاسل الشاشة في شكل الكورية في تطبيقات VFP بلدي. ولكن ما زلت لدن ر تكون قادرة على أن تفعل الشيء نفسه بالنسبة للصينيين أو الروسي في نفس الوقت. وبعبارة أخرى، فإن الخيار أعلاه يعمل فقط للغة واحدة، والتي قد يكون على ما يرام لأحد التطبيقات التي يجب أن تعمل فقط مع لغة واحدة في وقت واحد. القيام التحويلات بهذه الطريقة أيضا محدودة جدا كما طلبك يجب أن يكون حذرا جدا أي صفحة التعليمات البرمجية التي تقوم بتحويل من وفي Visual FoxPro دون هذه المعلومات يونيكود التحويلات من مجموعات الأحرف العليا التي هي مختلفة جدا من صفحة الرموز الافتراضية الجهاز سوف يؤدي إلى فقدت أو تعديل الأحرف فقدان البيانات. ق المرجح جدا أنه إذا قمت بتحويل أحرف Unicode من صفحة الرموز غير افتراضية، فلن تكون قادرا على تحويل هذه السلاسل إلى سلسلة FoxPro مرئي مفيدة في البيئة VFP. إذا تم تكوين الجهاز للحصول على صفحة الرموز 1252، وتقرأ سلسلة الكورية يونيكود وتحويله إلى سلسلة الفوكس برو مع STRCONV () وسوف تجد أن تحصل على سلسلة كاملة من. ال. ويشير الحرف الذي VFP ديدن أعرف كيفية تحويل هذه الشخصية إلى شيء يمكن تمثيلها في صفحة الرموز الحالية. وهذا هو في الواقع جوهر المشكلة مع VFP الصورة دعم يونيكود. يمكنك تطبيق مخطط الشفرة أو لغة إلى التحويل في هذه الحالة FoxPro مرئي سوف تولد في الواقع الصحيح لغة تسلسل الأحرف محددة بالنسبة لك. جرب ما يلي: نص الكوري ثنائي يونيكود lcBinStr STRCONV (تحويل إلى UTF-8 lcUTF8Str STRCONV (lcBinStr، 10) جعل المؤشر بذاتها عند استخدام CursorAdapter يمكنك تقسيم عملك بين كاليفورنيا والكائنات ADO COM لاحظ أن CursorAdapter. يتم تعيين الخاصية الصورة الشفرة إلى 65001، والذي يضمن أن VFP يتصل مع ADO باستخدام UTF-8 سلاسل. يتم تعيين أمر SQL على CursorAdapter بدلا من كائن ADO الأوامر وCA يعالج الأمر تحليل، وهذا يجعل من الممكن ل استخدام SQL تمر عبر نوع جملة مع ADO، حيث يعالج CA الترجمة من جملة المعلمة SPT إلى كائنات معلمة ADO المناسبة. إذا كنت مثل CursorAdapter، يمكن أن توفر لك الدعم ذهابا وإيابا الكامل للبيانات، وعندما تكوينه مع INSERT / أوامر تحديث / حذف / حدد CA يمكن إدارة مجموعة كاملة من الاتصال عن بعد لتحديث مؤشر ونظرا لأنه يستخدم ADO و COM يتم اتخاذ كل ما تبذلونه من إدارة يونيكود الرعاية لك. إذا قمت بإعادة مثلي رغم ذلك، قد تجد أن CursorAdapter لا توجد الآن ر تتناسب مع العمارة الكائن الأعمال الحالية الخاصة بك. بل إنني أفضل التعامل مع SQL أكثر مباشرة، بدلا من العمل مع مرتبة مسبقا رأي بعيد واجهة النوع الذي يوفر CursorAdapter. للقيام بذلك ولست بحاجة لاطلاق النار الأوامر غير استعلام (INSERT / UPDATE / DELETE / الإجراءات المخزنة) مباشرة ضد ADO. هنا مثال على ذلك من كيفية القيام بذلك. ويبين الجدول التالي بناء الجملة الخام إلى إجراء INSERT إلى ADO مع بيانات Unicode الذي هو UTF-8 ترميز: بعض النص الروسي - يجب تحويلها إلى UTF-8 لإدراج lcDescriptUtf8 STRCONV (lDescriptBin، 10) oCommand. Execute (lnAffected ،، 128) تعيين أي نتيجة ينبغي أن تكون عملية مألوفة بالنسبة لك الآن. وينبغي أن يكون أي سلسلة تريد تمرير إلى SQL Server-UTF 8 المشفرة. النص الروسي فوق يبدأ في ثنائي (لأنني لا أستطيع ر صقه في النص)، يتم تحويلها إلى UTF-8 ثم تعيينه إلى كائن المعلمة الصورة الخاصية قيمة في ADO. ومن المقرر ADO إلى SYS (3101،65001) بحيث يتم تمرير كافة المعلمات في ك UTF-8 و تحويلها داخليا إلى Unicode. إذا كنت مشاهدة التعريف SQL سترى أن ADO يرسل الواقع سلاسل بتنسيق Unicode إلى الخادم عند تشغيل INSERT. ينطبق نفس المنطق لأوامر UPDATE أو استدعاءات الإجراءات المخزنة التي تتطلب معلمات لتمريرها. لاحظ أنه سيكون لديك مع ADO الأصلي لتعيين صراحة المعلمات باستخدام الكائن ADODB. Parameter بدلا من تمرير SQL مألوف من خلال بناء الجملة. لجعل المعلمة يمر أسهل قليلا نموذج التعليمات البرمجية التي تأتي مع هذه المادة على طريقة AdoAddParameter () التي تمكنك من اجتياز فقط الأساسيات (قيمة واسم). جعل الحياة أسهل مع SQL Server الدرجة باكر لجعل جملة SQL عادي أكثر اتساقا، ولقد قدمت عدة فصول wwSQL وwwADOSQL التي توفر تنفيذ SQL المستوى المنخفض التي تعمل مع كل من ODBC وادو بشفافية. تم بناء الطبقة wwSQL في الأصل غلاف رقيق جدا حول SQL بالمرور، ومؤخرا أضاف wwADOSql مع نفس واجهة لدعم وظائف يونيكود. الطرق الأساسية لهذه الفئة هي التنفيذ ()، ExecuteNonQuery () وExecuteStoredProcedure ()، بالإضافة إلى تنفيذ المعلمة الشائعة التي لا تعتمد على متغيرات خاصة (أي يمكنك تمرير حولها في التطبيقات الموزعة). الطبقة يدير أيضا إعراب المعلمة من SQL تمر من خلال جملة للجميع ولكن مخزنة إجراء المكالمات مع المعلمات OUT، التي يجب أن تنفذ بشكل واضح استخدام ExecuteStoredProcedure (). هذه الطبقة هي مفيدة جدا إذا كنت أكثر راحة مع مرور SQL من خلال نمط واجهة SQL المباشر. مع هذا الوصول SQL الصف والعمل مع ADO UTF-8 سلاسل يصبح بسيطة مثل: LOCAL س كما wwADOSql س CREATEOBJECT () س. ربط (س CREATEOBJECT () س. كونيكت () مخططات شفرة، مجموعات الأحرف، الترميز، لغات يا المصطلحات العولمة ليست أسهل لتعتاد على لأنه يبدو أن الكثير من الشروط أن يكون بعض وظائف متداخلة. تصف مجموعات الأحرف مجموعة من الشخصيات المادية في واجهة نوع محددة، فعلى سبيل المثال، هناك العديد من مجموعات الأحرف اللاتينية، هناك مجموعات الأحرف السيريلية ومختلف مجموعات الأحرف الآسيوية مثل كوريا. مجموعة أحرف يحدد الأحرف الفعلية المتوفرة إلى سلسلة باستخدام حرف مجموعة رمز الصفحات هي خرائط لتسلسل محدد من الأحرف ONTOP من مجموعة أحرف، لذلك على الرغم من أن مخطط الشفرة ويندوز 1252 و1251 ديهم العديد من الشخصيات العامة، قد يكون لها نفس charcter موقفا مختلفا ضمن مجموعة الأحرف (اعتقد انه ما من ASC مختلفة () القيمة). هي في الأساس لا تستخدم مخططات شفرة يونيكود، ولكن هناك حاجة لتمثيل شخصية متعددة البايت لتعيين الأحرف في مساحة محدودة. تصف لغات مجموعة من الميزات توطين التي تحدد كيفية تمكن من رسم الخرائط لغة معينة من قبل النظام . لغات دون ر مجرد التعامل مع القضايا معلومات الخط مثل مجموعات الأحرف ومخططات شفرة لكن أيضا تتضمن معلومات كيفية عرض التواريخ والقيم العدد، كيف يتم استخدام رموز العملة وإذا كانت اللغة التي يستخدمها اليسار إلى اليمين أو من اليمين إلى اليسار التمرير. وتشمل لغات المعلومات. خرائط كل لغة لمجموعة محددة لغة لغة الفرعية. على سبيل المثال، معرف سلسلة المحلية الأمريكي اون لنا، في حين أن واحدة مع منتخب انجلترا هو EN-GB. في VFP الأشياء الوحيدة التي حقا هي مسألة مخططات شفرة ولغات على الرغم من أنك ارتداء ر حتى تحتاج لمعرفته حول لغات. يستخدم VFP مخططات شفرة كآلية أساسية لتنفيذ تحويلات تلقائية من Unicode إلى مخطط الحالي. Unicode في منصة مايكروسوفت الصورة يستند كليا يونيكود. نوع البيانات سلسلة في هو سلسلة Unicode وهناك ق أي وسيلة لخلق سلسلة بأي طريقة أخرى على الأقل ليس كنوع سلسلة. البيئة بأكملها مقرها يونيكود وما إذا كنت كتابة تطبيقات الويب أو تطبيقات Windows Forms تلقائيا يونيكود تمكين تطبيق ويمكن التعامل مع العرض في أي مجموعة الأحرف التي يتم تركيبها على جهازك. على سبيل المثال، على صفحة ويب يمكنك ببساطة قراءة Request. Form () الاستيلاء على قيمة كسلسلة يونيكود ثم تحديث قاعدة البيانات سلسلة يمر عبر النظام تماما كما يونيكود. انها تعمل فقط هناك شيء خاص ما عليك القيام به. لتبادل البيانات مع بيئات غير يونيكود أو كتابة البيانات إلى ملفات أو تيارات. NET لديه الدرجة ترميز. توفر الفئة ترميز الترميز الخاصة مثل UTF-8، UTF-7، يونيكود، تشفير صفحات الرموز ويندوز المشتركة ومجموعة متنوعة من ISO تعريفات الشفرة. الطبقة ترميز يسمح بتحويل سلاسل من وحدات البايت أو تيارات بايت عبر هذه الفئة مفيدة جدا ومطلوب في كثير من الأحيان. بالمقارنة مع تقلبات الموضحة في هذه المقالة مع Visual FoxPro، دعم يونيكود في غير سلس عمليا. إذا كنت بحاجة إلى بناء تطبيقات متعددة لغة قد يكون من المفيد النظر كبديل. يونيكود ترتيب خوارزمية ملخص هذا التقرير هو مواصفات يونيكود ترتيب خوارزمية (UCA)، الذي تفاصيل كيفية مقارنة سلسلتين يونيكود في حين تبقى المطابق لمتطلبات معيار يونيكود. كما تزود UCA الافتراضي يونيكود ترتيب عنصر الجدول (DUCET) كبيانات تحديد الترتيب الترتيب الافتراضي لجميع أحرف Unicode. وقد تم استعراض وضع هذه الوثيقة من قبل أعضاء يونيكود وغيرها من الأطراف المعنية، وتمت الموافقة للنشر من قبل هيئة يونيكود. هذا هو وثيقة مستقرة، ويمكن استخدامه كمادة مرجعية أو استشهد كمرجع المعيارية التي كتبها غيرها من المواصفات. والمعيار التقني يونيكود (UTS) هي مواصفات مستقلة. المطابقة للمواصفة يونيكود لا يعني التوافق على أي UTS. يرجى تقديم التصويبات والتعليقات الأخرى مع الإنترنت نموذج الإبلاغ ملاحظات. تم العثور على المعلومات ذات الصلة يمكن أن يكون مفيدا في فهم هذه الوثيقة في المراجع. للحصول على أحدث نسخة من نظام يونيكود نرى يونيكود. للحصول على قائمة من التقارير الفنية الحالية يونيكود نرى تقارير. لمزيد من المعلومات حول إصدارات معيار يونيكود، انظر الإصدارات. محتويات 1 مقدمة ترتيب هو مصطلح عام لعملية وظيفة لتحديد ترتيب فرز سلاسل الأحرف. بل هو وظيفة أساسية في أنظمة الكمبيوتر كلما يتم تقديم قائمة سلاسل للمستخدمين، فمن المرجح أن ترغب في ذلك في ترتيب فرزها بحيث يمكن بسهولة وبشكل موثوق تجد سلاسل الفردية. وبالتالي يتم استخدامه على نطاق واسع في واجهات المستخدم. ومن الضروري أيضا لقواعد البيانات، سواء في فرز السجلات وفي اختيار مجموعات من السجلات مع الحقول ضمن حدود معينة. الترتيب يختلف وفقا للغة والثقافة: الألمان، السويديين الفرنسي ونوع الأحرف نفسها بشكل مختلف. ويختلف أيضا عن طريق تطبيق معين: حتى داخل نفس اللغة والقواميس يجوز نوع مختلف من سجلات الهاتف أو مؤشرات الكتاب. للمخطوطات غير الأبجدية مثل ideographs شرق آسيا، ويمكن مقارنتها تكون إما لفظي أو بناء على ظهور الحرف. ويمكن أيضا ترتيب تخصيصها وفقا لتفضيلات المستخدم، مثل تجاهل علامات الترقيم أو لا، وضع الأحرف الكبيرة قبل الصغيرة (أو العكس بالعكس)، وهلم جرا. لغويا البحث الصحيح يحتاج إلى استخدام نفس الآليات: كما عادة كنوع إذا كانت الرسالة نفسها قاعدة في السويدية، يجب البحث فضفاض التقاط الكلمات مع أي واحد منهم. يجب أن تطبيقات الترتيب التعامل مع الاتفاقيات غوية معقدة لترتيب النص في لغات معينة، وتوفير التخصيصات المشتركة بناء على تفضيلات المستخدم. وعلاوة على ذلك، والخوارزميات التي تسمح للأداء الجيد حاسمة لأي آليات جمع لتكون مقبولة في السوق. ويبين الجدول 1 بعض الأمثلة على الحالات التي يختلف ترتيب حسب اللغة، واستخدام، أو التخصيص آخر. تختلف الجدول 1. الاختلافات مثال اللغات بخصوص أي نوع من أنواع المقارنات لاستخدام (والذي أجل أنهم ليتم تطبيقها)، وفي ما يشكل عنصرا أساسيا للفرز. على سبيل المثال، يعامل السويدية كما حرف مفرد والفرز بعد ض في الألمانية الأبجدية، ومع ذلك، يفرز إما مثل عبد اللطيف أو ما شابه أشكال معلمة أخرى ل. وهكذا بعد. في السلوفاكية، وأنواع الدوغراف حرفان يمثلا ن صوتا مفردا الفصل كما لو كان بريد إلكتروني منفصلة بعد ساعة. أمثلة من لغات ومخطوطات أخرى كثيرة. اللغات التي تستخدم الأحرف الكبيرة والصغيرة عادة تجاهل الفروق في القضية، ما لم تكن هناك أي اختلافات أخرى في النص أنظمة الكتابة. ومن المهم التأكد من أن الترتيب يلبي توقعات المستخدمين على أكمل وجه ممكن. على سبيل المثال، في معظم اللغات اللاتينية، أنواع باعتبارها البديل معلمة من س، وهذا يعني أن معظم مستخدمي تتوقع جنبا إلى جنب مع س. ومع ذلك، بعض اللغات مثل النرويجية والدنماركية والفرز باعتبارها عنصرا فريد من نوعه بعد ض. فرز على سبيل المثال، في اختيار قاعدة بيانات المستخدم قد لا يدركون ما السجلات مفقودة. انظر القسم 1.5، تطبيقات أخرى للترتيب. مع تطبيقات يونيكود المنتشرة على نطاق واسع، والبيانات متعددة اللغات هو القاعدة وليس الاستثناء. وعلاوة على ذلك، فإنه من الشائع على نحو متزايد لرؤية المستخدمين مع العديد من التوقعات الفرز المختلفة الوصول إلى البيانات. على سبيل المثال، فإن الشركة الفرنسية مع العملاء في جميع أنحاء أوروبا تشمل أسماء من العديد من اللغات المختلفة. إذا كان الموظف السويدي في هذه الشركة الفرنسية بالوصول إلى بيانات من موقع شركة السويدي، تحتاج أسماء العملاء لتظهر في الترتيب الذي يجتمع هذا الموظف على الرغم من أنه سيكون هناك العديد من الشخصيات معلمة المختلفة التي لا تظهر عادة في النص السويدي. للمخطوطات وشخصيات لا تستخدم في لغة معينة، قد لا توجد قواعد واضحة. على سبيل المثال، قد حددت السويدية والفرنسية بشكل واضح وقواعد واضحة لفرز (إما بعد ض أو كحرف معلمة مع فارق الثانوي من)، ولكن لا يعرف ترتيب الأحرف مثل،،،،، أو. 1.1 متعدد المستويات مقارنة لمعالجة تعقيدات الفرز الحساسة اللغة، واستخدمت خوارزمية مقارنة متعددة المستويات. في المقارنة بين كلمتين، والميزة الأكثر أهمية هو هوية خطابات القاعدة على سبيل المثال، الفرق بين ألف وباء. وعادة ما يتم تجاهل الاختلافات لهجة، وإن اختلفت الحروف قاعدة. الاختلافات حالة (الأحرف الكبيرة مقابل صغيرة)، وعادة ما تكون تجاهلها، إذا كانت خطابات قاعدة أو لهجاتهم تختلف. علاج علامات الترقيم يختلف. في بعض الحالات يتم التعامل مع حرف الترقيم مثل بريد إلكتروني القاعدة. في حالات أخرى، ينبغي تجاهلها إذا كان هناك أي اختلافات قاعدة، لهجة، أو حالة. قد يكون هناك أيضا المباراة النهائية، ومستوى التعادل كسر (وتسمى مستوى متطابقة)، حيث إذا لم تكن هناك اختلافات أخرى على الإطلاق في سلسلة، يتم استخدام (تطبيع) من اجل نقطة رمز. الجدول 2. مقارنة دور دور مستويات الأمثلة في الجدول 2 باللغة الإنجليزية وصف مستويات قد تتوافق مع مختلف ميزات نظام الكتابة بلغات أخرى. في كل مثال، لمستويات L2 من خلال سطر، واغراق الخلافات حول هذا المستوى (المشار إليها الأحرف المسطرة) من خلال الاختلافات على مستوى أقوى (المشار إليها في النص الأزرق). على سبيل المثال، يظهر المثال L2 أن الفرق بين س واغراق لمسات من فرق L1 (وجود أو عدم وجود ق). في المثال الأخير، ويمثل حرف الشكل، الذي هو على خلاف ذلك تجاهله تماما. المرحلة الابتدائية (L1) هو الفرز الأساسي للنص، ومستويات غير الأساسية (L2..Ln) هي لضبط الأوزان سلسلة لعناصر لغوية أخرى في نظام الكتابة التي تهم المستخدمين في الطلب، ولكن أقل أهم من ترتيب الفرز الأساسي. في الواقع، قد تكون هناك حاجة إلى مستويات أقل، وهذا يتوقف على تفضيلات المستخدم أو التخصيصات. 1.1.1 ترتيب النظام والقانون الرسم البياني ترتيب كثير من الناس يتوقعون أن الأحرف في اللغة على أن تكون بالترتيب المخططات رمز Unicode. لأن الترتيب يختلف باللغة وليس فقط من خلال السيناريو، وأنه من غير الممكن لترتيب لترميز الحروف بحيث تنتج مقارنة السلسلة الثنائية بسيطة الترتيب الترتيب المطلوب لجميع اللغات. لأن الفرز متعدد المستويات هو شرط، بل إنه ليس من الممكن لترتيب ترميز للحروف بحيث تنتج مقارنة السلسلة الثنائية بسيطة الترتيب الترتيب المطلوب لأي لغة معينة. مطلوبة جداول البيانات منفصلة عن النظام الفرز الصحيح. لمزيد من المعلومات حول tailorings لغات مختلفة، انظر CLDR. المبدأ الأساسي هو أن نتذكر: إن موقف الشخصيات في الرسوم البيانية رمز Unicode لا يحدد ترتيب بهم. 1.2 الكنسي التكافؤ وهناك العديد من الحالات في Unicode حيث اثنين من سلاسل من أحرف تعادل قانوني: تسلسل تمثل أساسا النص نفسه، ولكن مع تسلسل الفعلية مختلفة. لمزيد من المعلومات، راجع UAX15. يجب متواليات التي تعادل قانوني فرز نفسه. ويقدم الجدول 3 بعض الأمثلة من متواليات تعادل قانوني. على سبيل المثال، تم ترميز علامة انجستروم من أجل التوافق، وغير قانوني أي ما يعادل ألف الحلبة. هذا الأخير هو أيضا ما يعادل تسلسل متحللة وبالإضافة إلى الطابع حلقة الجمع. ترتيب بعض علامات الجمع هو أيضا غير ذي صلة في كثير من الحالات، لذلك يجب أن مثل هذه النتائج يمكن فرز نفسه، كما هو مبين في المثال الثاني. يظهر المثال الثالث شخصية ويتألف التي يمكن أن تتحلل في أربع طرق مختلفة، كل منها ما يعادل قانوني. الجدول 3. الكنسي معادلة U 0075 اللاتينية صغير رسالة U، U 0323 جمع بين DOT أدناه، يو 031B جمع بين القرن الأفريقي 1.3 السياقية الحساسية وهناك تعقيدات إضافية في بعض اللغات، حيث المقارنة السياق الحساسة وتعتمد على أكثر من أحرف واحدة فقط مقارنة مباشرة ضد واحد آخر، كما هو مبين في الجدول رقم (4). المثال الأول لمثل هذه المضاعفات يتكون من تقلصات. حيث اثنين (أو أكثر) الأحرف نوع كما لو كانوا بريد إلكتروني قاعدة واحدة. في الجدول أدناه، CH يتصرف وكأنه حرف واحد فرز بعد C. يتكون المثال الثاني من التوسعات. حيث يفرز حرف واحد كما لو كانت سلسلة من اثنين (أو أكثر) حرفا. في الجدول أدناه، وأنواع الربطة كما لو كان تسلسل يا E. كل من تقلصات والتوسعات يمكن الجمع: هذا هو، اثنين (أو أكثر) حرفا قد فرز كما لو كانوا تسلسل مختلف من اثنين (أو أكثر) حرفا. في المثال الثالث، لاليابانية، أنواع علامة طول مع وجود فارق التعليم العالي من حرف العلة من المقطع السابق: باعتبارها وبعد KA وبوصفها أنا بعد KI. الجدول 4. السياق الحساسية H تشيكوسلوفاكيا بعض اللغات لديها الشذوذ إضافية في الطريقة التي القبيل. عادة، يتم تقييم كل الاختلافات في الفرز من البداية إلى نهاية السلسلة. وإذا كان كل من الحروف الأساس هي نفسها، والفرق هجة الأول يحدد الترتيب النهائي. في الصف 1 من الجدول رقم 5. الفرق هجة الأول على س. لذلك هذا هو ما يحدد النظام. في بعض قاموس اللغة الفرنسية طلب التقاليد، ومع ذلك، فإنه هو آخر الفرق لهجة يحدد الترتيب، كما هو مبين في الصف 2. الجدول 5. اللكنة الى الوراء طلب عادي لهجة طلب كوت اللكنة الى الوراء ط م طلب كوت ط م 1.4 التخصيص في الممارسة العملية، هناك إضافي ملامح الترتيب الذي يحتاج المستخدمون إلى السيطرة عليها. يتم التعبير عن هذه في واجهة الإستخدام وفي نهاية المطاف في واجهات برمجة التطبيقات. وتشمل تخصيصات أخرى أو تفضيلات المستخدم ما يلي: اللغة. هذه هي الميزة الأكثر أهمية، لأنه من الأهمية بمكان أن الترتيب يتطابق مع توقعات المستخدمين من المجتمع اللغة الهدف. قوة. وهذا يشير إلى عدد من المستويات التي سيتم النظر فيها في المقارنة، وهو سمة هامة أخرى. ومعظم الوقت في حاجة إلى قوة من ثلاثة مستويات للمقارنة بين السلاسل. في بعض الحالات، سوف تكون هناك حاجة لعدد أكبر من المستويات، في حين أن الآخرين سوف يكون المطلوب مستويات أقل. حالة الترتيب. بعض القواميس والمؤلفين جمع الأحرف الكبيرة قبل الصغيرة في حين يستخدم البعض العكس، لذلك هذا التفضيل يجب أن يكون للتخصيص. في بعض الأحيان تكلف يأمر القضية من قبل الحكومة، كما هو الحال في الدنمارك. في كثير من الأحيان هو مجرد التخصيص أو المستخدم تفضيل. ترقيم. خيار آخر شائع هو ما إذا كان لعلاج علامات الترقيم (بما في ذلك المسافات) كأحرف قاعدة أو علاج مثل هذه الأحرف كما جعل مجرد اختلاف مستوى 4. قواعد معرف من قبل المستخدم. وتوفر هذه القواعد نتائج محددة لمجموعات معينة من الحروف. على سبيل المثال، في مؤشر قد يرغب المؤلف أن يكون حرف مرتبة كما لو كانت المنصوص عليها الآن. Tailorings المندمجة. أي خيار قد تسمح دمج مجموعة من القواعد لغات مختلفة. وما إلى ذلك وهلم جرا. .

No comments:

Post a Comment