The short answer is no. SQL server BCP utility is not capable of recognizing UTF8 encoded string correctly, even worse, it won’t report any error, it will simply treat UTF8 encoded string as ASCII encoded string. These string will become unrecognizable characters in SQL Server. As a result, I usually convert UTF8 encoded bcp file into UTF16 encoded bcp file and use -w parameter in bcp utility to specify the encoding is UTF16. In addition, when -w parameter is specified, the default delimiter is changed from | to \t, hence it is necessary to update the delimiter in the UTF16 encoded BCP file as well.