فئة :: DBI :: UTF8

فئة فئة ::: DBI Subclass التي تعرف عن UTF-8
التحميل الان

فئة :: DBI :: UTF8 الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • Perl Artistic License
  • السعر:
  • FREE
  • اسم الناشر:
  • Fotango Ltd
  • موقع ويب الناشر:
  • http://search.cpan.org/~fotango/

فئة :: DBI :: UTF8 العلامات


فئة :: DBI :: UTF8 وصف

فئة ::: Subclass DBI الذي يعرف عن UTF-8 بدلا من التفكير في أشياء مثل مجموعات الأحرف، أفضل أن أفعل كائناتي فقط الشيء الصحيح. أريد أيضا أن تقوم UTF-8 بايت سلاسل في قاعدة البيانات كلما أمكن ذلك. باستخدام هذه الفئة الفئة الفرعية للفئة :: DBI، يمكنني فقط وضع سلاسل بيرل في خصائص كائن، والشيء الصحيح سوف يذهب دائما إلى قاعدة البيانات ويخرج مرة أخرى. على سبيل المثال، بدون فئة :: DBI :: UTF8، myoBject -> إنشاء ({ID => 1، نص => "\ {2264}")؛ # أقل من غير أو متساو من الرمز .. قم بإنشاء صف في قاعدة البيانات التي تحتوي على (ربما) ترميز البايت UTF-8 من رمز أقل من غير أو غير متساو إلى الرمز. ولكن عند محاولة استرداد الكائن مرة أخرى .. بلدي مكسورة = myobject-> استرداد (1)؛ نصي نصي = نص غير مكسور -> النص؛ ... سيتم احتواء نص $ (ربما) 3 أحرف وتبدو شيئا مثل رمز أقل من أو متساو. وبالمثل، لن تكون غير قادر على البحث بشكل صحيح عن السلاسل التي تحتوي على أحرف غير ASCII.Creating الكائنات ذات الأحرف غير البسيطة غير ASCII من نطاق Latin-1 ستؤدي إلى حتى السلوكيات الغريبية: My $ e_acute = "\ {e9}"؛ # MyoBject E-Acute-> إنشاء ({نص => $ e_acute})؛ UTF8 :: ترقية ($ e_acute)؛ # لا تزال نفس الحرف، ولكن مع مختلف # التمثيل الداخلي myobject-> إنشاء ({نص => $ e_acute})؛ هذا سيخلق صفينين في قاعدة البيانات - أول تحتوي أولا على بايت اللاتينية المشفرة من الحادة الإلكترونية الأحرف (أو قاعدة البيانات قد ترفض السماح لك بإنشاء الصف، إذا تم إعدادها لتطلب UTF-8)، فإن الأخير يحتوي على البايت المشفرة UTF-8 من الحادة الإلكترونية. في الحالة الأخيرة، لن تحصل على حادة إلكترونية مرة أخرى إذا استرجعت الصف؛ ستحصل على سلسلة تحتوي على حرفين، واحدة لكل بايت من ترميز UTF-8.Because من هذا، إذا كنت تقوم بمعالجة البيانات من مصدر خارجي، فلن يكون لديك حقا أي فكرة واضحة عما سيذهب في قاعدة البيانات على all.fline، ما عليك سوى إضافة الخطوط: استخدم الفئة :: DBI :: UTF8؛ __Package __-> UTF8_Columns ("نص")؛ سيجعل كل هذه العمليات تعمل أكثر بكثير كما هو متوقع - ستتضمن قاعدة البيانات دائما بايت UTF-8، وسوف تعود دائما إلى الأحرف التي تضعها، وسوف تصبح على الفور الأكثر شعبية شخص في Work.class :: DBI :: UTF8 هو وحدة بيرل تفترض أن قاعدة البيانات والبرنامج الأساسي لا يعرف أي شيء عن مجموعات الأحرف، والتوت بايت بايت. تسمح لك بعض قواعد البيانات، على سبيل المثال postgresql والإصدارات الأحدث من MySQL، بإنشاء جداول مع مجموعات أحرف UTF-8، ولكن برامج تشغيل Perl DB لا تحترم ذلك ولا تزال تتطلب منك تمرير UTF-8 Bytes، وإرجاع UTF-8 بايت وبالتالي لا تزال بحاجة إلى معالجة خاصة مع الفصل :: DBI.Class :: DBI :: UTF8 سوف تفعل الشيء الصحيح في كلتا الحالتين، وأود أن أقترح عليك معرفة قاعدة البيانات لاستخدام ترميز UTF-8 وكذلك استخدام الفئة :: DBI :: UTF8 حيثما الممكن. الوحدة النمطية هي فئة :: DBI Plugin: Package Foo؛ استخدام قاعدة QW (فئة :: DBI)؛ استخدام الفئة :: DBI :: UTF8؛ ... __Package __-> الأعمدة (الكل => QW (نص معرف آخر))؛ # يحتوي عمود النص على بيانات الأحرف المشفرة UTF8 __Package __-> UTF8_Columns (QW (نص))؛ ... # إنشاء كائن بحرف سيئ. My $ FOO = FOO-> إنشاء ({نص => "A \ {2264} B لبعض A"،})؛ # البحث عن utf8 chars. FOO-> بحث (نص => "A \ {2264} B لبعض A")؛ متطلبات: perl.


فئة :: DBI :: UTF8 برامج ذات صلة

ccnx.

المسامين المضيفين مع المحتوى المسمى ...

194

تحميل