Right now, all the data is correct in the database. Meaning, in product data all ampersands are encoded as & all French quotes are encoded as « and », etc. But when the client edits a product, selects preview and updates the product, the database no longer contains the HTML code but the character.

For whatever reason, Lunarpages' Fantastico installed zen cart with HTML encoding of ISO-8859-1 instead of UTF-8 (which I had expected). And then the database has split collation, which seems odd to me. Again, for whatever reason, latin1_swedish_ci is the primary collation, but the categories, manufacturer description, and (the pertinent) product tables are collated utf8_unicode_ci (as it ought to be, right?).

So, if I convert the HTML encoding to UTF-8, will this fix the problem? Should I convert the rest of the tables' collation, too? Or is this (still) a Zen Cart core code issue? Or is there a workaround besides manually running a phpMyAdmin/MySQL Search and Replace script?