Hello, We have issues dealing with ANSI to UTF8 encoding mishaps in our migration from SAS 9.2 to 9.4 . Indeed the new encoding of data generates the special character � instead of the french punctuation (é, è, ê, ë, ...). Questions on this site mention using `prxchange` or `tranwrd` function to fix this problem. While this work with regular encoding it appears to not work with the � character when sourced from the production environnement (into the work library). Can someone please advise me how to fix this ? Here is a reproducible example that does work : ``` data df_mishap2 ; input var $40. ; datalines; abcdef abcd�a ab abcde XXXXXXXX OOOOOO abcdefsdkgtre ; run ; data df_clean2 ; set df_mishap2 ; var2 = prxchange("s/�/e/i", -1, var) ; /* ok */ var3 = tranwrd(var, "�", "e") ; /* ok */ run; ``` But weirdly when applied to a sample dataset sourced from production into the work library it fails : ``` data work.test ; set libprod.table (keep = var obs = 100); var2 = var; var3 = var; var2 = prxchange("s/�/e/i", -1, var2) ; var3 = TRANWRD(var3, "�", "e") ; run; ```
... View more