UTF-8 string construction

previous implementation produces weird results for multi-bytes characters. new implementation can handle them correctly (only Chinese is tested here.)
Merge pull request #3 from hjjandy/develop

UTF-8 string construction