Keep multibyte strings consistent

You must take special measures to perform truncation and fragmentation operations on multibyte strings so that you do not split a multibyte character.

Truncation
Makes a long character string fit into a smaller buffer.
Fragmentation
Breaks a long character string into two or more nonadjacent buffers to meet the memory-management requirements of their components.