Both utf8 and utf16 can contain multicharacter elements.  If you split a string at an arbitrary point you risk splitting it inside a multicharacter element.<p>This will be very common in utf8 that contains non-ascii characters, and very rare with utf16 (only happens with characters outside the BMP).<p>Neither is something you want in your code, unless you think it&#x27;s a good idea to corrupt your users&#x27; data.<p>Edit:  It&#x27;s not too difficult to handle these cases and make sure you only split at valid positions, but you do need to be careful and there are a number of edge cases you might not think through or even encounter unless you have the right sort of data to test with - which leads to lots of faulty implementations.  e.g. for years MySQL couldn&#x27;t handle utf8 characters outside the BMP.