If you have been reading my last blog posts, you know that I’m currently working on a SQL code migration from Firebird to SQL Server.

The client provided the scripts with all modules (Stored Procedures, functions, etc) and the steps I’m following (roughly speaking) for converting are:

  • Open new query window
  • Copy and paste de object code
  • Save the file This is how the file look like: savedwithdefaultencoding_ansi1
  • Run a PowerShell script that does a find and replace based on a hashtable. Apply all the changes and save the file again.
  • The file refresh on SSMS This is how the file look like after the find and replace: afterfindreplacepowershellandsaveasutf81
  • Unicode characters are broken :-(

So…what is happening?

The file that is used to create a new query window has ANSI encoding but when I save the file on the PowerShell script I save it as UTF-8 because the client have comments on the code with unicode characters.

Continue reading