This is what the MySQL manual says about trailing spaces:
Handling of trailing spaces is
version-dependent. As of MySQL 5.0.3,
trailing spaces are retained when
values are stored and retrieved, in
conformance with standard SQL. Before
MySQL 5.0.3, trailing spaces are
removed from values when they are
stored into a VARCHAR column; this
means that the spaces also are absent
from retrieved values.
Since your question says that MySQL does not repsect trailing spaces, I assume your version is lower than 5.0.3. Consider using the TEXT type for your column; these preserve trailing spaces. TEXT will handle the string's encoding and decoding for you, so you don't have to worry about multi-byte characters.
TEXT does perform slower than VARBINARY. If actual data shows that performance is unacceptable, you might have to opt for VARBINARY (or a BLOB.) In that case, it's up to you to store the string in a particular encoding, like UTF-8. As long as all your clients use the same encoding, this would work fine for multi-byte characters. Do test your clients with different regional settings :)