Forum Webscript.Ru

Программирование => Perl => Тема начата: ravshaniy от 28 Ноября 2006, 17:11:29

Название: DBI дает ошибку на русский язык
Отправлено: ravshaniy от 28 Ноября 2006, 17:11:29
К сожалению только недавно начал заниматься перлом, и к сожалению тестирую скрипты под win xp, если это имеет значение.
Объясните мне пожалуста одну вещь. почему:
my $item = "asdfasdf";#работает
my $item = "фывафыва"; # дает ошибку DBD::mysql::st execute failed: Data too long for column \'title\' at row 1 at file.pl

use DBI;
use DBD::MySQL;

my $dbh = DBI->connect( $dns, $login, $password, {RaiseError=>1} ) ;
$dbh->do("SET NAMES cp1251");

my $sql = "INSERT $tableName (`title`) VALUES ( ? )";
my $sth = $dbh->prepare("$sql");
$sth->trace(2);
$sth->execute( $item ) || die $sth->errstr;
#`title` - varchar

Спасибо заранее
Название: DBI дает ошибку на русский язык
Отправлено: arto от 28 Ноября 2006, 18:20:36
а строка у вас случаем не в utf8 ?
Название: DBI дает ошибку на русский язык
Отправлено: ravshaniy от 28 Ноября 2006, 18:23:45
а я там меняю кстати и в UTF8 и в cp1251 и в KOI8 и даже в CP86 ну чета не помогает эта шняга, меняю через Lingua::RU::Charset
Название: DBI дает ошибку на русский язык
Отправлено: ravshaniy от 28 Ноября 2006, 19:15:16
блин позвольте я сниму этот вопрос, там чтото в другом проблема, отдельным тестом это все сработало