powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Perl, DBI, MySQL и русский язык, под Windows
9 сообщений из 9, страница 1 из 1
Perl, DBI, MySQL и русский язык, под Windows
    #32793105
D.O.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Стоит Perl 5.8.4, MySQL 4.0.13, Apache 2.0.50 всё под Windows.
Ещё используется HTML::Template.

Гоняю тестовый скрипт, который получает данные из таблицы:

my $q = "SELECT * FROM region";
$sth = $dbh->prepare($q) || die "Couldn't prepare statement: " . $dbh->errstr;
$sth->execute() || die "Couldn't execute statement: " . $sth->errstr;

while ($i = $sth->fetchrow_hashref()) {
$regions .= $i->{id};
$regions .= " ";
$regions .= $i->{name};
$regions .= "\n";
}

$regions заносится как значение переменной в шаблон HTML::Template и выводится.

Всё работает, но русские символы выводятся на странице в виде:
115 “«мп­®ўбЄ
116 “д
117 • ­вл-Њ ­бЁ©бЄ
118 —Ґ«пЎЁ­бЄ
119 џЄгвбЄ

Но при этом в консоли MySQL всё выводится правильно:
| 116 | Уфа | 100 |
| 117 | Ханты-Мансийск | 100 |
| 118 | Челябинск | 100 |
| 119 | Якутск | 100 |

В MS IE проверил кодировку, стоит кодировка Windows.

Почему оно не выводится нормально? Может быть?
Как заставить русский текст выводиться нормально?
...
Рейтинг: 0 / 0
Perl, DBI, MySQL и русский язык, под Windows
    #32793241
Самурай
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы на вашем месте поставил бы русский апач. У него нет проблем с русскими символами.

Из анлицкого - уважаю версию 1, что-то у меня не шло на двойке.

"Жизнь коротка- потерпи немного".
...
Рейтинг: 0 / 0
Perl, DBI, MySQL и русский язык, под Windows
    #32793352
D.O.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но ведь информация, выводимая русскими буквами прямо из скрипта, отображается нормально. Проблема возникает с информацией, доставаемой из базы данных.
Значит Apache тут ни при чём.
...
Рейтинг: 0 / 0
Perl, DBI, MySQL и русский язык, под Windows
    #32794779
D.O.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё детали:

Другие русские символы (текст не из базы данных), выводящиеся через template на той же самой странице, выводятся нормально.

Запустил этот скрипт из командной строки, - всё наоборот, - русский текст, доставаемый из базы данных, выводится правильно, а другой руский текст (не из базы) - неправильно.
...
Рейтинг: 0 / 0
Perl, DBI, MySQL и русский язык, под Windows
    #32794882
ashim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
дык
charset ?
...
Рейтинг: 0 / 0
Perl, DBI, MySQL и русский язык, под Windows
    #32794946
D.O.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как правильно выставить одинаковые charset'ы для выводимых русских текстов?
...
Рейтинг: 0 / 0
Perl, DBI, MySQL и русский язык, под Windows
    #32794949
1024byte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скорее всего системная кодировка стоит Koi-8r
а страничка WIN-1251
вощщем, после вытаскивания данных из базы перекодируйте их вручную
или пишите всё в той кодировке которую возвращает база

и еще вопрос, а где вы взяли PHP 5.8.4
...
Рейтинг: 0 / 0
Perl, DBI, MySQL и русский язык, под Windows
    #32794962
D.O.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторСкорее всего системная кодировка стоит Koi-8r

Под Windows XP? Это врядли.

авторвощщем, после вытаскивания данных из базы перекодируйте их вручную или пишите всё в той кодировке которую возвращает база

К сожалению, я пока не разобрался, в какой кодировке у меня база. Всё, что можно, стоит по умолчанию - и кодировка в MySQL, и кодировка Windows.

автори еще вопрос, а где вы взяли PHP 5.8.4

Это не PHP, это Perl 5.8.4. :-))
...
Рейтинг: 0 / 0
Perl, DBI, MySQL и русский язык, под Windows
    #32797986
D.O.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я выяснил. Проблема была в другом. Сервер настроен правильно. Это я через буфер вставлял SQL-команды (где была вставка русского текста), а при copy/paste текст перекодировался в кодировку 866.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Perl, DBI, MySQL и русский язык, под Windows
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]