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