Transactional email templates have utf-8 character settings.
Despite this, special characters are not displaying properly when the field is dynamic.
If any static text is there with special characters, it displays as expected.
This can happen because the encoding must be specified in the Content-type header of the API call made to trigger the transactional event:
Content-Type: application/json;charset=UTF-8