![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| frenkys |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 18.6.2005 Репутация: 1 Всего: 1 |
Вобщем пишу на TK GUI использую
use encoding "ru_RU.CP1251"; русские названия везде отображаються отлично, но вот когда хочу из Entry прочитать что-то по русски то : если попросить print то он выводит в консоль абракадабру, когда отображаю прочитаное с Entry на самой форме GUI все ок, когда это записываю в базу записывает мне абракадабры что делать? --------------------
niva[frenky] |
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
frenkys, как что?
1. поиск по форуму, про БД не раз уже обсуждалось 2. консоль: *nix - koi8-r, Windows - cp866 (меняй кодировки) используй к примеру модуль Encode perldoc Encode |
|||
|
||||
| frenkys |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 18.6.2005 Репутация: 1 Всего: 1 |
ну это понятно я уже 2 дня рою всю возможную инфу во всег гуглах вингардах......
вобщем я б не спрашивал если что. 2) про консоли это понтяно 1) вобщем такая ситуация вот для проверки написал обычный скриптец не ТК! без строчки use encoding "ru_RU.CP1251"; он нормалек пишет в Access русские слова как токо ставлю use encoding "ru_RU.CP1251"; то он пишет в Аккесс абракадабру хотя в обычный текстовый файлик нормально. но для ТК полюбому нужна строка use encoding "ru_RU.CP1251"; иначе отображаться н ебудут русские надписи а записать в аккес мне нужно из под ТК --------------------
niva[frenky] |
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
всё же попробуй perldoc Encode
|
|||
|
||||
| frenkys |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 18.6.2005 Репутация: 1 Всего: 1 |
о, если б я еще мог узнать какая последовательность преобразований между кодировками нужна чтобы получить нужный мне кириличный текст
--------------------
niva[frenky] |
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
frenkys, а я к примеру нетелепат
Добавлено @ 00:52 и покажи строчку подключения к БД |
|||
|
||||
| frenkys |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 18.6.2005 Репутация: 1 Всего: 1 |
вобщем вот:
Вобщем получаеться вместо атакуем ть: атакуем блять Это сообщение отредактировал(а) frenkys - 23.9.2006, 01:14 --------------------
niva[frenky] |
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
давай без мата
добавь после коннекта такое
|
|||
|
||||
| frenkys |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 18.6.2005 Репутация: 1 Всего: 1 |
подобрал кодировку получил
utf-8-strict utf8 тоесь в БД они попадают уже в такой кодировке значит тобы попали в нормальной нужно обратно их перекодировать тоесть сделать $str="русский текст"; from_to($str, "cp1250", "utf8"); но получаю ошибку при віполнении from_to: Wide character in subroutine entry at C:/Perl/lib/Encode.pm line 186. Добавлено @ 01:17 Software error: DBD::ODBC: For help, please send mail to the webmaster ([email protected]), giving this error message and the time and date of the error. Добавлено @ 01:18 или же по русски Software error: DBD::ODBC: For help, please send mail to the webmaster ([email protected]), giving this error message and the time and date of the error. --------------------
niva[frenky] |
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
не используй from_to($str, "cp1250", "utf8");
прочти про encode и decode примерно так:
объединять в одну строку не рекомендую? в старых версиях только так работает |
|||
|
||||
| frenkys |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 18.6.2005 Репутация: 1 Всего: 1 |
вот что получаю:
Wide character in subroutine entry at C:/Perl/lib/Encode.pm line 166. Добавлено @ 01:36 щас попробую новую версию encode поставить --------------------
niva[frenky] |
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
ну да.. а ты что делаешь? что так выводит?
|
|||
|
||||
| frenkys |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 18.6.2005 Репутация: 1 Всего: 1 |
установил последнюю версию Encode:
:О) опять проблема код
если вписать туда use encoding 'cp1251'; выдает ошибку Wide character in subroutine entry at C:/Perl/lib/Encode.pm line 166. --------------------
niva[frenky] |
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
в поиске на форуме введи Wide character и поймёшь ;)
|
|||
|
||||
| frenkys |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 185 Регистрация: 18.6.2005 Репутация: 1 Всего: 1 |
понял что код символов больше 255, увидел пост с модулем Text::Iconv но так и не понял как с помощь него сделать
$str = decode('cp1251', $str); $str = encode('utf8', $str); видать совсем уже время позднее --------------------
niva[frenky] |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |