PDA

View Full Version : سوال: چرا QTextCodec کار نمیکنه؟!!!!!!!!!!!!!



sd.CSharpProgrammer
جمعه 04 آذر 1390, 22:26 عصر
سلام

مشکل این کد چیه؟! چرا فارسی نشون نمیده؟؟؟؟؟؟؟؟؟؟؟ :گریه:
عکسشو ضمیمه کردم

alamate_aoal
جمعه 04 آذر 1390, 22:43 عصر
QPushButton p(QString::fromUtf8("سلام فارسی"),this);

sd.CSharpProgrammer
پنج شنبه 10 آذر 1390, 22:05 عصر
QPushButton p(QString::fromUtf8("سلام فارسی"),this);

هیچ فرقی نکرد!

khavary
جمعه 11 آذر 1390, 00:47 صبح
برو برنامه اصلی با پسوند cpp. با Notepad باز کن و با Utf8 سیو کن و بعد کامپایل کن.
درست میشه..:لبخندساده:

alamate_aoal
جمعه 11 آذر 1390, 09:48 صبح
اگه عادت داری در فایلهای منبع , فارسی بنویسی از مسیر Tools -> Options... -> Text Editor -> Behavior -> Default encoding
Encoding رو به UTF-8 تغییر بده
فقط باید توجه کنی که فایل pro.* شما نباید به صورت UTF-8 ذخیره بشه , دلیلش رو هم بعد از چند error عجیب و غریب خواهی فهمید !

sd.CSharpProgrammer
جمعه 11 آذر 1390, 10:09 صبح
سلام دوستان

مشکل حل شد.


برو برنامه اصلی با پسوند cpp. با Notepad باز کن و با Utf8 سیو کن و بعد کامپایل کن.
درست میشه..:لبخندساده:
دقیقاً مشکل از کدپیج فایل cpp بود ولی نیازی به notepad نیست. همین کار رو میشه از منوی Edit -> Select Encoding انجام داد.


اگه عادت داری در فایلهای منبع , فارسی بنویسی از مسیر Tools -> Options... -> Text Editor -> Behavior -> Default encoding
Encoding رو به UTF-8 تغییر بده
فقط باید توجه کنی که فایل pro.* شما نباید به صورت UTF-8 ذخیره بشه , دلیلش رو هم بعد از چند error عجیب و غریب خواهی فهمید !
قبلاً اون تنظیماتی که اینجا عرض کردین رو انجام داده بودم ولی چون کدپیج خود فایل سورس درست نبوده کاراکترها رو نشون نمیداد.

دوستان بابت راهنمائی های مفیدتون ممنونم.

روش حل این مشکل رو اینجا مینویسم که اگه کسی دیگه مثل من تازه کار بود دیگه چند روز درگیر این مشکل نشه اشکش در نیاد :لبخند:

sd.CSharpProgrammer
جمعه 11 آذر 1390, 10:19 صبح
1- قبل از شروع هر پروژه ای، همین که کیوت رو نصب کردین از داخل محیط Qt Creator این تنظیمات رو انجام بدین :



Tools -> Options... -> Text Editor -> Behavior -> Default encoding -> UTF-8



بعد از اینکار، حواستون باشه همیشه فایل های هدر و سورس برنامه هاتون رو با گزینه زیر در قالب یونیکد ذخیره کنید :



Edit -> Select Encoding... -> UTF-8 -> Save with Encoding



حالا اول هدر QTextCodec رو بصورت #include <QTextCodec> به برنامه اضافه کنید و بعدش فقط میمونه اول برنامه بعد از کلاس QApplication از متدهای کلاس QTextCodec به اینصورت استفاده کنید :


QTextCodec::setCodecForTr(QTextCodec::codecForName ("UTF-8"));
QTextCodec::setCodecForCStrings(QTextCodec::codecF orName("UTF-8"));


کار تمومه، حالشو ببرین :



QLabel *lbl = new QLabel("سلام دنیا!");
lbl->show();


:لبخند: