In Lazarus 0.9.30.2 or inferior you can use the UTF-8 routines from the unit LCLProc which is inside the LCL. In 0.9.31+ they are all still there, but are now call LazUtils to do the real work, so code which uses LCLProc is compatible with a wide range of Lazarus versions. -- Felipe Monteiro de Carvalho