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

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.

Replies are listed 'Best First'.
Re^4: UTF8 execute() parameters (DBI)
by MattLG (Beadle) on Apr 21, 2009 at 09:21 UTC

    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?