Committed by Greg Sabino Mullane <[email protected]>
Quick utf8 test showing importance of binmode.
---
testme.tmp.pl | 47 ++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 46 insertions(+), 1 deletions(-)
diff --git a/testme.tmp.pl b/testme.tmp.pl
index 15f8e5d..ade058e 100755
--- a/testme.tmp.pl
+++ b/testme.tmp.pl
@@ -8,6 +8,7 @@ BEGIN {
use strict;
use warnings;
use DBI ':sql_types';
+use utf8;
use Data::Dumper;
use YAML;
use DBD::Pg qw/:pg_types/;
@@ -25,10 +26,54 @@ my $dbh = DBI->connect($DSN, '', '', {AutoCommit=>0,RaiseError=>1,PrintError=>0}
my $me = $dbh->{Driver}{Name};
print "DBI is version $DBI::VERSION, I am $me, version of DBD::Pg is $DBD::Pg::VERSION\n";
-memory_leak_test_bug_65734();
+utf8_print_test();
+
+#memory_leak_test_bug_65734();
exit;
+
+sub utf8_print_test {
+
+ ## Set things up
+ $dbh->do('CREATE TEMPORARY TABLE ctest (c TEXT)');
+
+ ## Add some UTF-8 content
+ $dbh->do("INSERT INTO ctest VALUES ('*JIHOMORAVSKÝ*')");
+ $dbh->do("INSERT INTO ctest VALUES ('*Špindlerův Mlýn*')");
+
+ ## Pull data back out via execute/bind/fetch
+ $SQL = 'SELECT c FROM ctest';
+
+ my $result;
+
+ for my $loop (1..4) {
+
+ my $onoff = 'off';
+ if ($loop == 1 or $loop==3) {
+ $dbh->{pg_enable_utf8} = 0;
+ }
+ else {
+ $dbh->{pg_enable_utf8} = 1;
+ $onoff = 'on';
+ }
+
+ if ($loop>2) {
+ binmode STDOUT, ':utf8';
+ }
+
+ $sth = $dbh->prepare($SQL);
+ $sth->execute();
+ $sth->bind_columns(\$result);
+ while ($sth->fetch() ) {
+ print DPeek $result;
+ print "\n Print with pg_enable_utf8 $onoff: $result\n";
+ warn " Warn with pg_enable_utf8 $onoff: $result\n\n";
+ }
+ }
+
+} ## end of utf8_print_test
+
sub memory_leak_test_bug_65734 {
## Memory leak when an array appears in the bind variables
--
1.7.1
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.