crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Строка в DLL
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
kalifriki Дата 7.2.2010, 1:33
 
Цитата(Litkevich Yuriy @ 7.2.2010, 0:14) *
Цитата(kalifriki @ 7.2.2010, 2:55) *
Слышал, погуглил, не понял как это может мне помочь.
самый простой способ, но и самый плохой:
где-то в коде строка с не латиницей:
QString s = tr("Привет мир");
, предположим, что кодировка этого файла - CP-1251 (Windows-1251)
тогда в функции main:
QTextCodec::setCodecForTr(QTextCodec::codecForName("Windows-1251"));


Большое спасибо. С проблемой разобрался :)
Litkevich Yuriy Дата 7.2.2010, 0:14
 
Цитата(kalifriki @ 7.2.2010, 2:55) *
Слышал, погуглил, не понял как это может мне помочь.
самый простой способ, но и самый плохой:
где-то в коде строка с не латиницей:
QString s = tr("Привет мир");
, предположим, что кодировка этого файла - CP-1251 (Windows-1251)
тогда в функции main:
QTextCodec::setCodecForTr(QTextCodec::codecForName("Windows-1251"));
Rocky Дата 6.2.2010, 23:58
 
QTextCodec::setCodecForTr(QTextCodec::codecForName("Windows-1251"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("Windows-1251"));
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("Windows-1251"));


как пример
kalifriki Дата 6.2.2010, 23:55
 
Цитата(Litkevich Yuriy @ 6.2.2010, 23:46) *
kalifriki, что-нибудь слышал про функции:
tr()
trUtf8()
codecFoTr()
?

Слышал, погуглил, не понял как это может мне помочь.
CODE

lib.setFileName(fileName);
lib.load();
typedef QString (*Name) ();
if (name) {
QString temp = name();
setWindowTitle(temp);
}

В заголовке получаю кракозябры.
Litkevich Yuriy Дата 6.2.2010, 23:46
  kalifriki, что-нибудь слышал про функции:
tr()
trUtf8()
codecFoTr()
?
kalifriki Дата 6.2.2010, 23:22
 
Цитата(Litkevich Yuriy @ 6.2.2010, 23:15) *
Цитата(kalifriki @ 7.2.2010, 1:42) *
но если в строке есть русские символы - начинаются проблемы, при вызове этой функции получаю кракозябры. Как это можно исправить? И получать из библиотеки нормальные русские символы?
а как это (наличие строки не в Lain1) реализовать без библиотеки, а в своей программе знаешь?

Не совсем понял :)
У меня строка должна быть обязательно в библиотеке (там помимо нее, конечно есть и функции, но сейчас дело их не касается). Как её получить в основной программе и вывести, например, на экран в нормальном виде, не кракозябрском.
Litkevich Yuriy Дата 6.2.2010, 23:15
 
Цитата(kalifriki @ 7.2.2010, 1:42) *
но если в строке есть русские символы - начинаются проблемы, при вызове этой функции получаю кракозябры. Как это можно исправить? И получать из библиотеки нормальные русские символы?
а как это (наличие строки не в Lain1) реализовать без библиотеки, а в своей программе знаешь?
kalifriki Дата 6.2.2010, 22:42
  Доброго времени суток. Проблема такая:
Я создал динамическую библиотеку, с единственной функцией, которая возвращает QString.
В своей программе подключаю эту библиотеку и вызываю этот метод. Если строка в библиотека набрана английскими символами все нормально, но если в строке есть русские символы - начинаются проблемы, при вызове этой функции получаю кракозябры. Как это можно исправить? И получать из библиотеки нормальные русские символы?
Заранее спасибо.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 20.4.2024, 2:52