in reply to Re: UTF8 execute() parameters (DBI)
in thread UTF8 execute() parameters (DBI)

Yup, all correct....'cept '7' :-(

Replies are listed 'Best First'.
Re^3: UTF8 execute() parameters (DBI)
by moritz (Cardinal) on Apr 21, 2009 at 07:23 UTC
    You've only shown us perl code in your question, nothing about your mysql setup, which is equally important.

    For example, if you open a terminal, first check that it works with UTF-8 (I assume Linux in my examples):

    $ echo Kärnten Kärnten $ echo Kärnten | hexdump -C 00000000 4b c3 a4 72 6e 74 65 6e 0a |K..rnten. +| 00000009

    If it looks any different, that's your first problem.

    Second step, try mysqldump $your_table | grep 'CHARSET=' - does that say UTF8 as well?

    Third step, try the insertion and then retrieval with mysql command line client - does that work?

    Fourth step, tell me the version of your DBD::mysql module.

      Yep, the database is entirely UTF8 (every table and text column), as is the terminal.

      Manual insertion and retrieval via the CLI works fine too.

      DBD::mysql = 4.005-26

      Cheers

        DBD::mysql = 4.005-26

        You might want to try a newer version there.

        And can you please give us also the Devel::Peek output of the string you're passing to the database?