Hi Hunter,
This HTML entity is known as the zero-width no-break space. We use this to reserve space in empty blocks. Unfortunately, depending on which browser you're in, if a block is empty and you move the cursor away, you can never get into it again, but it's still there. We use this special HTML entity to preserve space so that you can move the cursor back into the block.
The zero-width no-break space should not cause any visual differences. The question mark is due to the HTML entity being changed into unicode. A thorough discussion can be found in this other thread.
Basically, what's happening is the data coming from SnapEditor contians  and your HTML purifier is changing them to \ufeff. If you're using a database that cannot (or is not configured to) store unicode, it barfs when it sees this character and changes it to a question mark. Note that if the database can store unicode, you won't see the question marks.
To fix this, before storing in the database, you can replace all instances of \ufeff back to  or fix the database so it will properly store unicode.
Hope that helps!
Wesley