Строка в DLL |
Здравствуйте, гость ( Вход | Регистрация )
Строка в DLL |
kalifriki |
6.2.2010, 22:42
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 6.2.2010 Пользователь №: 1448 Спасибо сказали: 0 раз(а) Репутация: 0 |
Доброго времени суток. Проблема такая:
Я создал динамическую библиотеку, с единственной функцией, которая возвращает QString. В своей программе подключаю эту библиотеку и вызываю этот метод. Если строка в библиотека набрана английскими символами все нормально, но если в строке есть русские символы - начинаются проблемы, при вызове этой функции получаю кракозябры. Как это можно исправить? И получать из библиотеки нормальные русские символы? Заранее спасибо. |
|
|
Litkevich Yuriy |
6.2.2010, 23:15
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
но если в строке есть русские символы - начинаются проблемы, при вызове этой функции получаю кракозябры. Как это можно исправить? И получать из библиотеки нормальные русские символы? а как это (наличие строки не в Lain1) реализовать без библиотеки, а в своей программе знаешь?
|
|
|
kalifriki |
6.2.2010, 23:22
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 6.2.2010 Пользователь №: 1448 Спасибо сказали: 0 раз(а) Репутация: 0 |
но если в строке есть русские символы - начинаются проблемы, при вызове этой функции получаю кракозябры. Как это можно исправить? И получать из библиотеки нормальные русские символы? а как это (наличие строки не в Lain1) реализовать без библиотеки, а в своей программе знаешь?Не совсем понял У меня строка должна быть обязательно в библиотеке (там помимо нее, конечно есть и функции, но сейчас дело их не касается). Как её получить в основной программе и вывести, например, на экран в нормальном виде, не кракозябрском. |
|
|
Litkevich Yuriy |
6.2.2010, 23:46
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
kalifriki, что-нибудь слышал про функции:
tr() trUtf8() codecFoTr() ? |
|
|
kalifriki |
6.2.2010, 23:55
Сообщение
#5
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 6.2.2010 Пользователь №: 1448 Спасибо сказали: 0 раз(а) Репутация: 0 |
kalifriki, что-нибудь слышал про функции: tr() trUtf8() codecFoTr() ? Слышал, погуглил, не понял как это может мне помочь. CODE lib.setFileName(fileName); lib.load(); typedef QString (*Name) (); if (name) { QString temp = name(); setWindowTitle(temp); } В заголовке получаю кракозябры. |
|
|
Rocky |
6.2.2010, 23:58
Сообщение
#6
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
как пример Сообщение отредактировал Rocky - 6.2.2010, 23:59 |
|
|
Litkevich Yuriy |
7.2.2010, 0:14
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Слышал, погуглил, не понял как это может мне помочь. самый простой способ, но и самый плохой:где-то в коде строка с не латиницей: , предположим, что кодировка этого файла - CP-1251 (Windows-1251)тогда в функции main:
|
|
|
kalifriki |
7.2.2010, 1:33
Сообщение
#8
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 6.2.2010 Пользователь №: 1448 Спасибо сказали: 0 раз(а) Репутация: 0 |
Слышал, погуглил, не понял как это может мне помочь. самый простой способ, но и самый плохой:где-то в коде строка с не латиницей: , предположим, что кодировка этого файла - CP-1251 (Windows-1251)тогда в функции main:
Большое спасибо. С проблемой разобрался |
|
|
Текстовая версия | Сейчас: 26.11.2024, 12:08 |