كيف يمكن التعرف على ويندوز التطبيقات غير يونيكود؟

StackOverflow https://stackoverflow.com/questions/1641501

  •  08-07-2019
  •  | 
  •  

سؤال

وأنا إنشاء تطبيق MFC C ++ مع "الأحرف استخدام يونيكود تعيين" المختارة في Visual Studio. لقد UNICODE تعريف، يا CStrings و16 بت، والتعامل مع أسماء الملفات مع الأحرف اليابانية في نفوسهم، الخ. ولكن، عندما وضعت سلاسل Unicode التي تحتوي على الأحرف اليابانية في CComboBox (باستخدام AddString)، فإنها تظهر كما ؟؟؟؟؟ .

وأنا بنظام التشغيل Windows XP Professional، الإصدار x64 (باللغة الإنجليزية). إذا كنت تستخدم الإقليمي تحكم Windows لوحة وخيارات اللغة، تبويب خيارات متقدمة، وتعيين لغة للبرامج بدون Unicode إلى اليابانية، يا مربع التحرير والسرد يبدو الصحيح.

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

وشكرا على اي مساعدة!

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

المحلول

ويندوز يعرف الفرق بين يونيكود وبرامج غير يونيكود بواسطة وظائف يسمونه. ومعظم وظائف API ويندوز يأتي في اثنين من المتغيرات، نهاية واحد في ألف لغير يونيكود واحدة تنتهي في W يونيكود. وتشمل الملفات التي تحدد هذه الوظائف سوف تستخدم إعدادات مترجم لاختيار واحد أو الآخر تلقائيا.

والشخصيات قد لا يخرج بشكل صحيح لأنك تحديد خط لا يتضمن منهم أن يكون لديك خط UI الافتراضي.

نصائح أخرى

وأين يمكنك الحصول على سلاسل من؟ إذا كانت الصعب ترميز في مصادر C، ثم في الوقت الذي الدعوة AddString هم (على الأرجح) تضررت بالفعل.

وليس هناك ما يمنع أحد من أخذ بعض سلسلة Unicode، "الضغط" عليه في الأمراض المنقولة جنسيا :: سلسلة، على سبيل المثال، والاضرار بها. حتى لو يتم ترجمة التطبيقات ك Unicode.

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