Trong ứng dụng Qt của tôi, các tệp mã nguồn của tôi được mã hóa dưới dạng UTF-8. Đối với các mã sau đây ...Đặt mã hóa mặc định Qt thành UTF-8
QMessageBox::critical(this, "Nepoznata pogreška", "Dogodila se nepoznata pogreška! Želite li zatvoriti ovaj program ?", QMessageBox::Yes, QMessageBox::No);
... khi tôi hiển thị hộp thư đó, ký tự "š" sẽ không được hiển thị là "š", nhưng là điều lạ. Điều này là do Qt chuyển đổi tất cả các chuỗi C như thể chúng được mã hóa bằng LATIN-1. Để giải quyết vấn đề này, tôi đã sử dụng:
QMessageBox::critical(this, QString::fromUtf8("Nepoznata pogreška"), QString::fromUtf8("Dogodila se nepoznata pogreška! Želite li zatvoriti ovaj program ?"), QMessageBox::Yes, QMessageBox::No);
Có cách nào để loại bỏ tất cả các cuộc gọi đến QString::fromUtf8()
?
http://stackoverflow.com/questions/29485602/qt-convert-unicode-entites – trante