RE: test_dynamic Error 29 installing DBD-Oracle v 1.15 on red hat 9 Oracle 9.2

From: Andy Hassall (andy_at_andyh.co.uk)
Date: 03/18/04

  • Next message: Jared Still: "Re: Avoiding coding username/password directly into perl script"
    To: "'Dan Straw'" <dans@sportingbet.com>, <dbi-users@perl.org>
    Date: Thu, 18 Mar 2004 00:36:35 -0000
    
    

    > I'm having some trouble installing DBD-Oracle. I get the
    > following error when running make test:
    >
    > [snip]
    > # failed test 31 at line 95. Strings differ at position 1
    > (\277 vs \23072), Len 5

     That looks a lot like a UTF-8 issue. I've been able to reproduce this on my
    setup; it happens when you have your NLS_LANG set to a UTF8 characterset,
    but your database is an 8-bit character set such as WE8ISO8859P15.

     Having UTF8 in your NLS_LANG triggers the tests to use Unicode characters,
    specifically U+236A, which is \23072 in octal - matching part of your error.
    This can't be stored in a WE8ISO8859P15 database, so the value that's
    fetched back doesn't match, and so the tests fail.

     The tests should only use UTF-8 characters if the client is using UTF-8 AND
    the database character set is one of the Unicode character sets, so can
    store the characters sent.

     Could you confirm the value of your NLS_LANG, and try again with it set to
    '.WE8ISO8859P15'?

     I've written a patch for the tests to fix this but it needs more testing
    before I post it.

    -- 
    Andy Hassall <andy@andyh.co.uk> / Space: disk usage analysis tool
    <http://www.andyh.co.uk> / <http://www.andyhsoftware.co.uk/space>
    

  • Next message: Jared Still: "Re: Avoiding coding username/password directly into perl script"

    Relevant Pages

    • Re: Loading a data file containing character fields with different encodings
      ... UTF-8 characters along with Latin-1 characters. ... One containing the latin-1 character set column, the second containing the utf-8 column and of course both files containing the primary key information. ... it would be just as easy to write the loader script that converts the encoding to a "unicode" intermediate format and then load with the correct database encoding. ... This caused that no conversion was done, but you were puting CP1252 characters into an 819 database! ...
      (comp.databases.informix)
    • Re: Creating XML from an Oracle DB
      ... answer to what must be a FAQ when generating XML from Oracle but I ... an Oracle 9.2 database using DBMS_XMLQUERY and DBMS_LOB. ... Oracle's utf-8 support for the XML packages is shameful. ... You can determine your database's character set with this query: ...
      (perl.dbi.users)
    • Re: Euro sign not displayed properly when fetched from DB
      ... The database must have been built with a character set that allows for the ... The client must be capable of displaying the character. ...
      (comp.databases.oracle.server)
    • Re: WE8ISO8859P1 convert to AL32UTF8 unicode character set question
      ... AL32UTF8 database. ... But as you said that when the char does not exist in db character set. ... It can cause unpredictable conversion. ...
      (comp.databases.oracle.server)
    • Re: OT: character encodings (was: Linux 2.6.20-rc4)
      ... _no_ information about their character encodings. ... UTF-8 folk assume all text files are UTF-8 encoded. ... When you stored it on disk, the character set information was lost. ... capable of converting to and from legacy character sets on input ...
      (Linux-Kernel)