时间:2010-07-26 16:47:21

标签: sql-server sql-server-2005

2 个答案:

答案 0 :(得分:3)

根据this link,“SQL Server不支持代码页65001(UTF-8编码)。”起初,我认为这仅与2008有关,但根据微软技术作者对this link上的问题的回答,“SQL Server从未支持过代码页65001(UTF-8编码)。”

答案 1 :(得分:0)

您可以使用c#来解决此问题:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace UTF8toUCS2
{
    class Program
    {
        static void Main(string[] args)
        {
            if (args.Length != 1) 
            {
                Console.WriteLine("exampe: UTF8toUS2 [filepath]");
                return;
            }

            var filename = args[0];

            byte[] content = File.ReadAllBytes(filename);

            byte[] newArray = new byte[content.Length + 3];

            newArray[0] = (byte)0xEF;
            newArray[1] = (byte)0xBB;
            newArray[2] = (byte)0xBF;

            Array.Copy(content, 0, newArray, 3, content.Length);

            byte[] utcs2Bytes = System.Text.Encoding.Convert(System.Text.Encoding.UTF8, System.Text.Encoding.Unicode, newArray);

            File.WriteAllBytes(filename, utcs2Bytes);
       }
    }
}