我正在使用 char_length() 来测量“Русский”的大小:奇怪的是,它没有告诉我它是 7 个字符,而是告诉我有 14 个字符。有趣的是,如果查询只是......
SELECT CHAR_LENGTH('Русский')
……答案是正确的。但是,如果我改为查询数据库,则分析器为 14:
SELECT CHAR_LENGTH(text) FROM locales WHERE lang = 'ru-RU' AND name = 'lang_name'
有人知道我可能做错了什么吗?我可以确认排序规则是 utf8_general_ci 并且表是 MyISAM
谢谢,阿德里安
编辑:我的最终目标是能够测量包含单字节和双字节字符的表中记录的长度(例如英语和俄语,但不仅限于这两种语言)