سؤال

هل يمكنني استخدام java.util.properties مع ترميز مختلف ثم الافتراضي؟

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

المحلول

ليس إلا إذا كنت

  1. يركضون Java 6 أو لاحقًا
  2. التحكم في رمز تحميل ملف الخصائص ، ويمكنه استخدام القارئ. يرى جافادوك.

هذا عيب مزعج جدا في المواصفات. هناك العديد من الحلول ، وربما تكون أبسط هي أن تلقائيًا تلقائيًا من مصدر متوافق متمثل Unicode.

تشحن جافا مع ترميز تسمى Native2ascii للقيام بذلك من أجلك:

هناك بعض RFEs المسنين حول هذا الموضوع:

نصائح أخرى

نعم ، ولكن عليك أن تكون حريصًا على استخدام load() و store() الطرق التي تأخذ Reader/Writer, ، وبناءها بشكل صريح باستخدام InputStreamReader/OutputStreamWriter مع الترميز الصحيح.

قد لا يكون هذا ممكنًا مع المكتبات التي تستخدم ملفات الخصائص ضمنيًا.

تعديل: تم تقديم الطرق الموضحة أعلاه فقط في Java 1.6 - للإصدارات القديمة ، أنت محظوظ ، كما كتب Dsadinoff.

إذا كان ملف الخصائص الخاص بك متاحًا في وقت الإنشاء ، فيمكنك أيضًا تحويله في برنامج النصي ANT باستخدام مهمة Native2ascii:

<property name="javac.source.encoding" value="Cp1250"/>

<native2ascii src="${src.dir}" dest="${classes.dir}"
   encoding="${javac.source.encoding}"
   includes="**/*.properties"/>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top