Tests needed: nchar in Latin1. tolower/chartr in Latin1. x <- "Le français, c'est façile: Règles, Liberté, Egalité, Fraternité..." a <- "é"; b <-"è" save(x,a,b,file="x.rda") load('x.rda') c(nchar(x), nchar(x, "b"), nchar(x, "w")) L1 <- iconv(x, "UTF-8", "Latin1"); Encoding(L1) <- "latin1" c(nchar(L1), nchar(L1, "b"), nchar(L1, "w")) toupper(x) toupper(L1) chartr(a, b, x) chartr(a, b, L1) gsub(a, b, x) gsub(a, b, L1) aa <- iconv(a, "UTF-8", "Latin1"); Encoding(aa) <- "latin1" bb <- iconv(b, "UTF-8", "Latin1"); Encoding(bb) <- "latin1" chartr(aa, bb, x) chartr(aa, bb, L1) gsub(aa, bb, x) gsub(aa, bb, L1) In a Latin locale chartr("\u2019", "'", "abc\u2019")