REBOL [ Title: "UTF-8 encode" Date: 14-Jun-2002/10:24:29+2:00 Version: 1.0.0 File: %utf8-encode.r Author: "Romano Paolo Tenca & Oldes" Usage: { >> utf8-encode "chars: ìšèøžýáíé" == "chars: ìšèøžýáíé"} Purpose: "Encodes the string data to UTF-8 (from Latin-1)" Comment: {More info about encoding: http://czyborra.com/utf/ } Category: [crypt] ] utf8-encode: func[ "Encodes the string data to UTF-8 (from Latin-1)" str [any-string!] "string to encode" /local c h ][ ;if you remove 'copy you can change the original string parse/all copy str [ any [ h: skip ( if 127 < c: first h [ h: change h c / 64 or 192 insert h c and 63 or 128 ]) :h skip ] ] head h ]