What I was referring to for the initial value is for the iRite editor. If there is some formatting in the initial value it can cause issues with the characters. You can check this by editing the iRite instance and looking at the initial value on the first screen.
As for the db part since you are inserting the record into your db first it could potentially be an issue with that part as well. To determine if the characters are being inserted into the db like this you should print out the insert to see if the characters are present.
To print out the insert you can just find the WA_SQL variable in the code, it looks like this in PHP:
$WA_Sql
On the next line after this variable you can print out the query with a die statement like this:
die($WA_Sql);
Please give this a try to determine at one point the bad characters are being added and post back with the result you get.