سلام
مشکل این کد چیه؟! چرا فارسی نشون نمیده؟؟؟؟؟؟؟؟؟؟؟
عکسشو ضمیمه کردم
سلام
مشکل این کد چیه؟! چرا فارسی نشون نمیده؟؟؟؟؟؟؟؟؟؟؟
عکسشو ضمیمه کردم
QPushButton p(QString::fromUtf8("سلام فارسی"),this);
برو برنامه اصلی با پسوند cpp. با Notepad باز کن و با Utf8 سیو کن و بعد کامپایل کن.
درست میشه..
آخرین ویرایش به وسیله khavary : جمعه 11 آذر 1390 در 01:00 صبح
اگه عادت داری در فایلهای منبع , فارسی بنویسی از مسیر Tools -> Options... -> Text Editor -> Behavior -> Default encoding
Encoding رو به UTF-8 تغییر بده
فقط باید توجه کنی که فایل pro.* شما نباید به صورت UTF-8 ذخیره بشه , دلیلش رو هم بعد از چند error عجیب و غریب خواهی فهمید !
سلام دوستان
مشکل حل شد.
دقیقاً مشکل از کدپیج فایل cpp بود ولی نیازی به notepad نیست. همین کار رو میشه از منوی Edit -> Select Encoding انجام داد.
قبلاً اون تنظیماتی که اینجا عرض کردین رو انجام داده بودم ولی چون کدپیج خود فایل سورس درست نبوده کاراکترها رو نشون نمیداد.
دوستان بابت راهنمائی های مفیدتون ممنونم.
روش حل این مشکل رو اینجا مینویسم که اگه کسی دیگه مثل من تازه کار بود دیگه چند روز درگیر این مشکل نشه اشکش در نیاد
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::codecForName("UTF-8"));
کار تمومه، حالشو ببرین :
QLabel *lbl = new QLabel("سلام دنیا!");
lbl->show();