修复数据库中的奇怪字符

时间:2013-06-14 09:18:20

标签: sql database utf

我遇到UTF-8问题。所以现在很多记录都被破坏了,其中有奇怪的字符,如...

doncdefaçoncrétivy

任何方式我可以修复所有这些?谢谢!

1 个答案:

答案 0 :(得分:0)

使用我开发的以下存储过程删除任何字符并替换为所需字符。

CREATE PROC CHAR_REPLACER
AS
BEGIN
SET NOCOUNT ON
DECLARE @CHARTOREPLACE VARCHAR(MAX)='"ç©'   --SIMPLY PUT HERE A CHAR You want to Replace
DECLARE @REPLACEWITH VARCHAR(MAX)=' ASC'     --SIMPLY PUT HERE A REPLACING CHAR

DECLARE @POS INT=1

SELECT * FROM A  --DATA BEFORE

WHILE @POS<LEN(@CHARTOREPLACE)
BEGIN
   UPDATE A SET f1=REPLACE(F1,SUBSTRING(@CHARTOREPLACE,@POS,1),SUBSTRING(@REPLACEWITH,@POS,1))
   WHERE CHARINDEX(SUBSTRING(@CHARTOREPLACE,@POS,1),F1,1)>0
   SET @POS=@POS+1
END

SELECT * FROM A  --DATA AFTER
END

请将这些变量修改为参数,这样您就不必在每次想要在该数组中添加新字符时进行更改。