Issue 7942 - Appending different string types corrupts memory

Appending string types with different char sizes requires decoding and re-encoding.

https://issues.dlang.org/show_bug.cgi?id=7942