diff --git a/rtl/unix/cwstring.pp b/rtl/unix/cwstring.pp index bb05e8652e..c1ef29634e 100644 --- a/rtl/unix/cwstring.pp +++ b/rtl/unix/cwstring.pp @@ -373,10 +373,17 @@ initialization SetCWideStringManager; initcriticalsection(iconv_lock); { init conversion tables } +{$ifndef darwin} iconv_wide2ansi:=iconv_open(nl_langinfo(CODESET),unicode_encoding); iconv_ansi2wide:=iconv_open(unicode_encoding,nl_langinfo(CODESET)); iconv_ucs42ansi:=iconv_open(nl_langinfo(CODESET),'UCS4'); iconv_ansi2ucs4:=iconv_open('UCS4',nl_langinfo(CODESET)); +{$else darwin} + iconv_wide2ansi:=iconv_open('UTF-8',unicode_encoding); + iconv_ansi2wide:=iconv_open(unicode_encoding,'UTF-8'); + iconv_ucs42ansi:=iconv_open('UTF-8','UCS4'); + iconv_ansi2ucs4:=iconv_open('UCS4','UTF-8'); +{$endif darwin} finalization donecriticalsection(iconv_lock); iconv_close(iconv_ansi2wide);