Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > Вывод русских символов из БД MySql


Автор: *eug* 4.10.2003, 20:34
У меня такой скрипт
Код

#!/usr/bin/perl
use DBI;
$dbh = DBI->connect("DBI:mysql:dbase");
$sth = $dbh->prepare("select * from users");
$sth->execute;
@muss=$sth->fetchrow();
print @muss;
$dbh->disconnect;

При выводе русские символы из полей БД - совсем "нерусские"??

Автор: wpp 5.10.2003, 18:23
Цитата
При выводе русские символы из полей БД - совсем "нерусские"??

пример приведи: что в таблице и что в выводе?

Автор: HalkaR 5.10.2003, 20:22
Проверь в какой кодировке лежат данные в базе.
Как данные попали в базу?

Автор: *eug* 5.10.2003, 21:32
Смысл в том, что если я ввожу русские символы из mysql monitor (Win), то выводятся корректно символы в DOS кодировке, если с помощью графического интерфейса, то win 1251, можно ли заставить вводить и выводить данные в одной и той же кодировке, т.е. чтобы я вводил из разных программ а кодировка в БД была всё время одинаковая, или если кодировка в БД разная, то, чтобы Perl - скрипт определял её и выводил данные корректно.


Автор: HalkaR 5.10.2003, 22:30
Код
$dbh->do("set character set cp1251_koi8");
Эта строка пишется сразу после подсоединения к базе. Она определяет из какой кодировки в какую перекодировать выводимый текст. В данном случае из koi8 в cp1251. Может это как пригадится?

Автор: *eug* 5.10.2003, 22:39
HalkaR
А как определить кодировкуconfused.gif

Автор: HalkaR 6.10.2003, 10:56
Лучше всего всегда вводи текстовые данные одним способом, чтобы знать в какой кодировке хранятся у тебя данные.

Автор: *eug* 6.10.2003, 20:15
HalkaR
Так что нет способа определения кодировки?

Автор: HalkaR 6.10.2003, 21:04
*eug*, лично я не знаю smile.gif smile.gif smile.gif. Все тексты во всех кодировках состоят из одних и тех же символов.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)