Index: Oracle.pm
===================================================================
--- Oracle.pm	(revision 237)
+++ Oracle.pm	(working copy)
@@ -848,6 +848,35 @@
 SQL
     }
 
+    sub ora_can_unicode {
+	# 0 = No Unicode support.
+	# 1 = National character set is Unicode-based.
+	# 2 = Database character set is Unicode-based.
+	# 3 = Both character sets are Unicode-based.
+	my $dbh = shift;
+	return $dbh->{ora_can_unicode} if defined $dbh->{ora_can_unicode};
+
+	my $sth_charset = $dbh->prepare(<<'SQL') or return undef;
+SELECT value
+  FROM v$nls_parameters
+ WHERE parameter = ?
+SQL
+
+	my $national_charset = $dbh->selectrow_array($sth_charset, {}, 'NLS_NCHAR_CHARACTERSET')
+	  or return undef;
+
+	my $database_charset = $dbh->selectrow_array($sth_charset, {}, 'NLS_CHARACTERSET')
+	  or return undef;
+
+	$dbh->{ora_can_unicode} = 0;
+	$dbh->{ora_can_unicode} += 1 if ($national_charset =~ /UTF/);
+	$dbh->{ora_can_unicode} += 2 if ($database_charset =~ /UTF/);
+
+	return $dbh->{ora_can_unicode};
+    }
+
+
+
 }   # end of package DBD::Oracle::db
 
 
