Custom characters of tinymce editor are saved as question mark

You have to encode the string you store in UTF-8 or whatever the site is using as encoding.

If you don’t store valid UTF-8 you get the famous diamonds. In websites, these are not girls best friends, they just break your output. 🙂

See this answer for some code to encode text as UTF-8 in PHP.