FAQ
Hello,

A large Perl application (10^4 .. 10^5 lines of code) has to work with
data on an MS SQL Server 2000 containing Unicode data in NVARCHAR
columns. Perl 5.8.6 (ActivePerl) runs on the same or another Windows
2000 Server (usually english or german). The Unicode data may contain
characters from all over the world, e.g. russian, chinese, arabic or
hebrew, among the usual latin characters. A separate application also
accesses the Database, performs some reporting and expects the data to
be valid Unicode.

DBD::ODBC returns all latin characters, german umlauts and french
accents, but replaces all non-latin characters with question marks
("?", ASCII 63). Also, all data returned from DBD::ODBC has the UTF8
flag off.

Other DBDs for other databases, like DBD::Oracle for Oracle 9.2 and
DBD::Pg (with pg_enable_utf8=1) for PostgreSQL 8 work fine and return
unicode strings with an enabled UTF8 flag. Unfortunately, these two
databases are not sufficient, the application has to work with MS SQL
(not my idea).

DBD::ADO is unreliable, hangs and crashes, and seems to have a lot of
limitations that make the application stop working, but at least it sets
the UTF8 flag and returns unicode strings.

DBD::Sybase does not work at all, it complains about missing some entry
points in Sybases DLLs, and the documentation says that "?" placeholders
are not supported with MS SQL. All but two or three statements in the
application use "?" placeholders.

I spent three days searching Google, DBI docs and FAQ, and DBI and
DBD::ODBC sources for any hints, but without success.

Any ideas, hints, tips?


Thanks,
Alexander Foken

Please inform us immediately if this e-mail and/or any attachment was
transmitted incompletely or was not intelligible.
___________________________________________________________________________

This e-mail and any attachment is for authorized use by the intended
recipient(s) only. It may contain proprietary material, confidential
information and/or be subject to legal privilege. It should not be copied,
disclosed to, retained or used by any other party.
If you are not an intended recipient then please promptly delete this
e-mail and any attachment and all copies and inform the sender.

Search Discussions

  • Tim Bunce at Jul 29, 2005 at 3:44 pm

    On Thu, Jul 28, 2005 at 04:14:16PM +0200, Alexander Foken wrote:
    Hello,

    A large Perl application (10^4 .. 10^5 lines of code) has to work with
    data on an MS SQL Server 2000 containing Unicode data in NVARCHAR
    columns. Perl 5.8.6 (ActivePerl) runs on the same or another Windows
    2000 Server (usually english or german). The Unicode data may contain
    characters from all over the world, e.g. russian, chinese, arabic or
    hebrew, among the usual latin characters. A separate application also
    accesses the Database, performs some reporting and expects the data to
    be valid Unicode.

    DBD::ODBC returns all latin characters, german umlauts and french
    accents, but replaces all non-latin characters with question marks
    ("?", ASCII 63). Also, all data returned from DBD::ODBC has the UTF8
    flag off.
    I spent three days searching Google, DBI docs and FAQ, and DBI and
    DBD::ODBC sources for any hints, but without success.

    Any ideas, hints, tips?
    I'd suggest you work with the maintainers of DBD::ODBC to fix it and
    help save the world.

    Tim.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupdbi-users @
categoriesperl
postedJul 28, '05 at 2:14p
activeJul 29, '05 at 3:44p
posts2
users2
websitedbi.perl.org

2 users in discussion

Tim Bunce: 1 post Alexander Foken: 1 post

People

Translate

site design / logo © 2022 Grokbase