--- lib/A3C/SQL.pm 2008/06/20 22:37:33 217 +++ lib/A3C/SQL.pm 2008/06/21 11:01:35 218 @@ -31,6 +31,8 @@ encoding => 'UTF-8', }); +Mungling with C is rearly needed, especially if using recent C as driver. + =head2 sth Execute query and return statement handle. Ususally you don't have to call this manually. @@ -117,8 +119,16 @@ my $type = ref($self) or die "$self is not an object"; my $name = $AUTOLOAD; $name =~ s/.*://; - Jifty->log->error("SQL: $name doesn't exist") unless defined($self->{$name}); - return decode( $self->{__encoding}, $self->{$name} ); + my $v = $self->{$name}; + Jifty->log->error("SQL: $name doesn't exist") unless defined $v; + if ( ! Encode::is_utf8( $v ) ) { + eval { $v = decode( $self->{__encoding}, $self->{$name} ) }; + if ( $@ ) { + warn "## column $name can't decode ",dump( $self->{$name} ); + $v = $self->{$name}; + } + } + return $v; } sub DESTROY {}