在我的应用程序中,我将一些文本从用户在网站上传的文件导入数据库。
数据库SQL Server 2005,文本存储nvarchar
列,我使用EF和L2SQL。
用户应该使用UTF-8制作文件,但不幸的是其中一些显然使用了不同的编码。结果一些字符无效。
我想找到哪些记录有效。我使用 utf8checker 。它适用于原始文件,但是当文本来自数据库IsUtf8
时,方法始终返回true。
答案 0 :(得分:1)
我认为SQL服务器将始终将Unicode存储为UCS-2。因此,您需要确保数据在插入时而不是读取时具有正确的编码。否则SQL服务器会为你加载它,我认为在插入数据后没有办法确定原始编码 - 除非你在记录本身有编码定义,比如另一列或前几个字符您的数据元素。例如。 - XML就是这样做的。
希望这会有所帮助。