سؤال

أجد أن الحصول على دعم Unicode في تطبيقاتي عبر الأنظمة الأساسية يمثل ألمًا حقيقيًا.

أحتاج إلى سلاسل يمكن أن تنتقل من كود C إلى قاعدة بيانات إلى تطبيق Java وإلى وحدة Perl.يستخدم كل منها ترميزات Unicode مختلفة (UTF8، UTF16) أو بعض صفحات الرموز الأخرى.أكبر شيء أحتاجه هو طريقة عبر الأنظمة الأساسية لإجراء التحويلات.

ما نوع الأدوات أو المكتبات أو التقنيات التي يستخدمها الأشخاص لتسهيل التعامل مع هذه الأشياء؟

هل كانت مفيدة؟

المحلول

الق نظرة على هذا: http://www.icu-project.org/

نصائح أخرى

بيرل لديه تشفير كمكتبة قياسية.يمكن استخدامه لقراءة/كتابة أي ترميز تريده، لذلك لن تكون هناك مشكلة.

كيف تجري المكالمات عبر الأنظمة الأساسية؟هل يتم استدعاء كل شيء من جافا؟

http://java.sun.com/docs/books/tutorial/i18n/text/string.html من الممكن ان يكون مفيدا.

أنا في حيرة من أمري بشأن ما تحاول فعله بالضبط.هل قاعدة البيانات هي في الأساس واجهة بين جميع التعليمات البرمجية؟بعد ذلك يجب أن يكون الأمر سهلاً - ما عليك سوى إنشاء DB UTF-8 وسيحتاج كل عميل إلى إجراء التحويلات الخاصة به.

تبدو مشكلة مثيرة للاهتمام، هل يمكنك مشاركة المزيد من التفاصيل؟

حسنًا، أعتقد أن iconv كافٍ لاحتياجاتك.يجب أن يكون Iconv متاحًا على أي نظام POSIX افتراضيًا (يشمل ذلك (GNU/)Linux و*BSD وMac OS X...).في نظام التشغيل Windows AFAIK، يتطلب الأمر مكتبة منفصلة ولكن:

  1. يمكنك فقط تثبيته/تجميعه مع برنامجك/تجميعه الثابت.(libiconv للنوافذ).(أعتقد أنني أوصي بتجميعها).
  2. يمكنك استخدام بعض مكالمات Windows الأصلية كحالة خاصة.

بالطبع إذا كنت تستخدم Java فهي مدمجة - لكنني أرى أنها قد لا تكون ما تريده (مكالمات JNI غالية الثمن).

ملاحظة.ألا يمكنك ضبط بيرل على ترميز محدد؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top