如何删除MySQL中的越南语字符 我的代码MYSQL 分隔符// 创建函数fNonUnicode(p_inputVar LONGTEXT) 返回长文本 开始 如果(p_inputVar为NULL或p_inputVar=“”),则返回“”; 如果结束; 声明v_RT LONGTEXT; 声明v_SIGN_CHARS NVARCHAR(256); 声明v_UNSIGN_CHARS NVARCHAR(256); 设置v_SIGN_CHARS=ConcatảãạáằẳẵặắầẩẫậấèẻẽẹéềểễệếìỉĩịíòỏõọóồổỗộốờởỡợớùủũụúừửữựứỳỷỹỵýĂÂĐÊÔƠƯÀẢÃẠÁẰẲẴẶẮẦẨẪẬẤÈẺẼẸÉỀỂỄỆẾÌỈĨỊÍÒỎÕỌÓỒỔỖỘỐỜỞỠỢỚÙỦŨỤÚỪỬỮỰỨỲỶỸỴÝ',NCHAR(272)+NCHAR(208)); 设置v_UNSIGN_CHARS=N'aadeooaaaaaaaaaaaaaaaaaaaaaaaaaaeeeeeeieiiiooooooooooouuuuuuuuuuyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyydd'; 声明v_计数器int; 声明v_COUNTER1 int; 设置v_计数器=1; WHILE(v_COUNTER

如何删除MySQL中的越南语字符 我的代码MYSQL 分隔符// 创建函数fNonUnicode(p_inputVar LONGTEXT) 返回长文本 开始 如果(p_inputVar为NULL或p_inputVar=“”),则返回“”; 如果结束; 声明v_RT LONGTEXT; 声明v_SIGN_CHARS NVARCHAR(256); 声明v_UNSIGN_CHARS NVARCHAR(256); 设置v_SIGN_CHARS=ConcatảãạáằẳẵặắầẩẫậấèẻẽẹéềểễệếìỉĩịíòỏõọóồổỗộốờởỡợớùủũụúừửữựứỳỷỹỵýĂÂĐÊÔƠƯÀẢÃẠÁẰẲẴẶẮẦẨẪẬẤÈẺẼẸÉỀỂỄỆẾÌỈĨỊÍÒỎÕỌÓỒỔỖỘỐỜỞỠỢỚÙỦŨỤÚỪỬỮỰỨỲỶỸỴÝ',NCHAR(272)+NCHAR(208)); 设置v_UNSIGN_CHARS=N'aadeooaaaaaaaaaaaaaaaaaaaaaaaaaaeeeeeeieiiiooooooooooouuuuuuuuuuyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyydd'; 声明v_计数器int; 声明v_COUNTER1 int; 设置v_计数器=1; WHILE(v_COUNTER,mysql,Mysql,MySQL函数用于删除重音和特殊字符 DROP FUNCTION IF EXISTS fn_remove_accents; DELIMITER | CREATE FUNCTION fn_remove_accents( textvalue VARCHAR(10000) ) RETURNS VARCHAR(10000) BEGIN SET @textvalue = textvalue; -- ACCENTS SET @w

MySQL函数用于删除重音和特殊字符

 DROP FUNCTION IF EXISTS fn_remove_accents;
    DELIMITER |
    CREATE FUNCTION fn_remove_accents( textvalue VARCHAR(10000) ) RETURNS VARCHAR(10000)

    BEGIN

        SET @textvalue = textvalue;

        -- ACCENTS
        SET @withaccents = 'ŠšŽžÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝŸÞàáâãäåæçèéêëìíîïñòóôõöøùúûüýÿþƒ';
        SET @withoutaccents = 'SsZzAAAAAAACEEEEIIIINOOOOOOUUUUYYBaaaaaaaceeeeiiiinoooooouuuuyybf';
        SET @count = LENGTH(@withaccents);

        WHILE @count > 0 DO
            SET @textvalue = REPLACE(@textvalue, SUBSTRING(@withaccents, @count, 1), SUBSTRING(@withoutaccents, @count, 1));
            SET @count = @count - 1;
        END WHILE;

        -- SPECIAL CHARS
        SET @special = '!@#$%¨&*()_+=§¹²³£¢¬"`´{[^~}]<,>.:;?/°ºª+*|\\''';
        SET @count = LENGTH(@special);

        WHILE @count > 0 do
            SET @textvalue = REPLACE(@textvalue, SUBSTRING(@special, @count, 1), '');
            SET @count = @count - 1;
        END WHILE;

        RETURN @textvalue;

    END
    |
    DELIMITER ;
DROP函数(如果存在)fn\u remove\u重音符号;
分隔符|
创建函数fn_remove_accents(textvalue VARCHAR(10000))返回VARCHAR(10000)
开始
设置@textvalue=textvalue;
--口音
设置重音符号;
设置@withoutaccents='SSZZAAAAAAAAACEEEIIINOOOOOUUYBAAAACEEIIINOOOUUYBF';
设置@count=LENGTH(@withaccents);
当@count>0时
设置@textvalue=REPLACE(@textvalue,子字符串(@withaccents,@count,1),子字符串(@withoutaccents,@count,1));
设置@count=@count-1;
结束时;
--特殊字符
设置@special='!@$%&*()u+=§¨¨¨¨¨¨¨¨¨¨¨¨¨^}]:;?/¨¨¨+*¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨;
设置@count=长度(@special);
当@count>0时
设置@textvalue=REPLACE(@textvalue,子字符串(@special,@count,1),“”);
设置@count=@count-1;
结束时;
返回@textvalue;
结束
|
定界符;

请尝试使用下面的代码

DROP FUNCTION IF EXISTS fn_remove_accents;
DELIMITER //
CREATE FUNCTION fn_remove_accents(textvalue TEXT)
    RETURNS TEXT

BEGIN
    SET @textvalue = textvalue;

    -- ACCENTS
    SET @withaccents = 'ăâđêôơưàảãạáằẳẵặắầẩẫậấèẻẽẹéềểễệếìỉĩịíòỏõọóồổỗộốờởỡợớùủũụúừửữựứỳỷỹỵýĂÂĐÊÔƠƯÀẢÃẠÁẰẲẴẶẮẦẨẪẬẤÈẺẼẸÉỀỂỄỆẾÌỈĨỊÍÒỎÕỌÓỒỔỖỘỐỜỞỠỢỚÙỦŨỤÚỪỬỮỰỨỲỶỸỴÝ';
    SET @withoutaccents = 'aadeoouaaaaaaaaaaaaaaaeeeeeeeeeeiiiiiooooooooooooooouuuuuuuuuuyyyyyAADEOOUAAAAAAAAAAAAAAAEEEEEEEEEEIIIIIOOOOOOOOOOOOOOOUUUUUUUUUUYYYYY';
    SET @count = LENGTH(@withaccents);

    WHILE @count > 0 DO
        SET @textvalue = REPLACE(@textvalue, SUBSTRING(@withaccents, @count, 1), SUBSTRING(@withoutaccents, @count, 1));
        SET @count = @count - 1;
    END WHILE;

    RETURN @textvalue;
END
//
DELIMITER ;

如果只想用空格替换它:updatemytable SET myColumn=replace(myColumn,'�', ' ')
DROP FUNCTION IF EXISTS fn_remove_accents;
DELIMITER //
CREATE FUNCTION fn_remove_accents(textvalue TEXT)
    RETURNS TEXT

BEGIN
    SET @textvalue = textvalue;

    -- ACCENTS
    SET @withaccents = 'ăâđêôơưàảãạáằẳẵặắầẩẫậấèẻẽẹéềểễệếìỉĩịíòỏõọóồổỗộốờởỡợớùủũụúừửữựứỳỷỹỵýĂÂĐÊÔƠƯÀẢÃẠÁẰẲẴẶẮẦẨẪẬẤÈẺẼẸÉỀỂỄỆẾÌỈĨỊÍÒỎÕỌÓỒỔỖỘỐỜỞỠỢỚÙỦŨỤÚỪỬỮỰỨỲỶỸỴÝ';
    SET @withoutaccents = 'aadeoouaaaaaaaaaaaaaaaeeeeeeeeeeiiiiiooooooooooooooouuuuuuuuuuyyyyyAADEOOUAAAAAAAAAAAAAAAEEEEEEEEEEIIIIIOOOOOOOOOOOOOOOUUUUUUUUUUYYYYY';
    SET @count = LENGTH(@withaccents);

    WHILE @count > 0 DO
        SET @textvalue = REPLACE(@textvalue, SUBSTRING(@withaccents, @count, 1), SUBSTRING(@withoutaccents, @count, 1));
        SET @count = @count - 1;
    END WHILE;

    RETURN @textvalue;
END
//
DELIMITER ;