Using Length on the ANSI string will not work and likely gives an incorrect result. Length tries to count the number of characters and for that it tries to interpret the string as UTF-8 (it doesn't know it is in ANSI). For the ANSI string use SizeOfString which gives you the number of bytes (like Length did in DataFlex 19.1 and older).
Note that I actually get 113 chars when I run the example below. So I don't know how you filled that string, but there might be a null terminator being counted. Try adding a CString before querying the length (like this: Move (CString(sCampo)) to sCampo ).
Code:
Use ui
Use CharTranslate.pkg
Object oTest is a cObject
Procedure Test
String sValUtf8 sValAnsi
Move "(©) Sisbrok - BRRP0009 - [Versão: 20.0.0.0003] - Emitido em: 14/10/2020 - Hora: 09:06:16 - Página: #subpagecount#" to sValUtf8
Showln "UTF8: "sValUtf8
Showln "Length: " (Length(sValUtf8))
Showln "Size: " (SizeOfString(sValUtf8))
Move (Utf8ToAnsi(sValUtf8)) to sValAnsi
Showln "ANSI"
Showln "Length: " (Length(sValAnsi))
Showln "Size: " (SizeOfString(sValAnsi))
End_Procedure
End_Object
Send Test of oTest
inkey windowindex