我有mysql函数,可将所需字符串中每个单词的首字母大写。
我目前的问题是,它将土耳其语字符转换为英语,例如;
i = I(应为İ),ş= S(应为Ş),等等。
正确的转换表;
i = İ (currently : I)
ö = Ö (currently : O)
ü = Ü (currently : U)
ç = Ç (currently : C)
ş = Ş (currently : S)
我使用utf8
和utf8_turkish_ci
编码进行了测试,但结果相同。
使用的功能是;
CREATE FUNCTION CAP_FIRST (input VARCHAR(255))
RETURNS VARCHAR(255)
DETERMINISTIC
BEGIN
DECLARE len INT;
DECLARE i INT;
SET len = CHAR_LENGTH(input);
SET input = LOWER(input);
SET i = 0;
WHILE (i < len) DO
IF (MID(input,i,1) = ' ' OR i = 0) THEN
IF (i < len) THEN
SET input = CONCAT(
LEFT(input,i),
UPPER(MID(input,i + 1,1)),
RIGHT(input,len - i - 1)
);
END IF;
END IF;
SET i = i + 1;
END WHILE;
RETURN input;
END;
我该如何使用纯mysql功能解决此问题?