This uses Unicode canonicalisation rules, and optionally ignores case.
str_equal(x, y, locale = "en", ignore_case = FALSE, ...)
x, y  A pair of character vectors. 

locale  Locale to use for comparisons. See

ignore_case  Ignore case when comparing strings? 
...  Other options used to control collation. Passed on to

stringi::stri_cmp_equiv()
for the underlying implementation.
# These two strings encode "a" with an accent in two different ways a1 < "\u00e1" a2 < "a\u0301" c(a1, a2)#> [1] "á" "á"a1 == a2#> [1] FALSEstr_equal(a1, a2)#> [1] TRUE# ohm and omega use different code points but should always be treated # as equal ohm < "\u2126" omega < "\u03A9" c(ohm, omega)#> [1] "Ω" "Ω"ohm == omega#> [1] FALSEstr_equal(ohm, omega)#> [1] TRUE