OK, sorry to bring up everyone's least favourite subject, but I had a
conversation with Nick Clark at OSCon, who suggested that the best
route to Unicode conformance (for now - until DBIv2) is to actually
explicitly turn off the UTF-8 flag when you populate the record AV
during fetch(). The reason you should do this (I believe) is because
the resulting strings may get passed just about anywhere during a fetch
loop, and something may or may not alter the UTF-8 flag, and it'll get
left set/unset the next time around the fetch loop for the next value
(sv_setpv doesn't alter this flag - it leaves it as-is). This will not
be what you want.
i.e. for every fetch call, you need to do:
SvUTF8_off(AvARRAY(av)[i]);
Now, people using your DBD can decide to upgrade the variable if they
wish to, but most people who don't need to will be unaffected.
Matt.