Question: When I execute the following code, it returns non-standard characters, so how do we remove it or get original string?

```
header('Content-type: text/html; charset=utf-8');
$String = "à¸?à¹ˆà¸­à¸•à¸±à¹‰à¸‡à¹€à¸¡à¸·à¹ˆà¸­";
echo $String;

```

Output : `�?่อตั้งเมื่อ`

Need actual result : `ก่อตั้งเมื่อ`

Answer: 
Your string, `à¸?à¹ˆà¸­à¸•à¸±à¹‰à¸‡à¹€à¸¡à¸·à¹ˆà¸­` is not valid utf-8. That is why the `�` shows up - the browser does not know how to interpret it.

As others have indicated, the question mark on the third position likely is the problem. 

The first three bytes of the erroneous string are `e0 b8 3f` (`3f` being the ascii code `?`). I do not know any Thai, but the byte sequence for a [THAI CHARACTER KO KAI](http://www.fileformat.info/info/unicode/char/0e01/index.htm) looks pretty similar and should be`e0 b8 81`.
You mentioned character encdoing as utf-8, where as the string is not encoded as utf-8. That's the reason that "?" mark is appearing in the output instead of the intended one.