Si usas UTF-16, entonces hay que usar
WideString, si usas UTF-8 entonces puedes usar
AnsiString. Delphi define
String como alias de una de estas dos, dependiendo de que la versión de Delphi use internamente UTF-16 ó UTF-8. También existe UnicodeString (al menos en Free Pascal), pero no sé exactamente cómo funciona.