Hi,

just a hint for debugging:

1) Get sure whether your MySQL installation stores in UTF-8. Take the table in question and do a show create table blabla\G in mysql client. When there is an alternative charset declared you can see it on the last line. Also check via show global variables like '%char%';.

2.) Check whether the MySQL connect option mysql_enable_utf8 is set to true if you have UTF-8 enabled.

3.) Insert a debug statement soon after fetching data from the database. If you can put your hand on a string then do the following:

my $utf8_flag = utf8::is_utf8($string) ? 1 : 0; print STDERR "For String '$string' UTF8-Flag is: $utf8_flag\n";

When your whole code is running in an UTF-8 environment than you should get a '1' there.

The output you get is a sign for double encoding. Look for possibilities where this kind of double encoding could happen. Rule of thumb. Don't do encoding until it comes to output at the boundaries.

Best regards
McA


In reply to Re: Need tipps for identifying utf-8 problems with Dancer and MySQL by McA
in thread Need tipps for identifying utf-8 problems with Dancer and MySQL by Skeeve

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.