in reply to Re^3: Perl encoding problem
in thread Perl encoding problem

Can you find out whether that error is coming from the mysql server or from the DBI driver? If you set environment variable DBI_TRACE=1 it should clarify whether the query was sent to the server and rejected, or if it failed before sending.

If it failed before sending, then what I think is most likely is that the DBI driver and/or mysql client library (which is presumably a new version as part of your new perl version) has gotten "smarter" and is trying to do the encode for you, and expects that you provide it a logically "unicode string" for it to encode. And if this is really the case, that is good news because you don't have to manually encode things, and (probably) will continue to work without further code changes when you switch to a utf8 database.