MySQL のドキュメントでは、文字列関数REPLACE()
は「マルチバイトセーフ」であると言われています。ロシア語の文字セットの操作に問題があります。
SELECT REPLACE('оофо', 'о', '*'); -- "**ф*", everything is correct
SELECT REPLACE('оофоо', 'о', '*'); -- "**фоо", NOT CORRECT
問題の原因はどこにあるのでしょうか?
追加情報:
OS - Windows 7 (Russian), SELECT CHARSET('оофоо'); -- "utf8", SELECT LENGTH('оофоо'); -- "6".