Tato odpověď se objevila v horní části mých výsledků vyhledávání Google, ale nebyla správná:
Zmatek je pravděpodobně způsoben různými verzemi mysql, které se testují.
- Verze 4 počítá bajty
- Verze 5 počítá znaky
http://dev.mysql.com/doc /refman/5.0/en/string-type-overview.html
MySQL interpretuje specifikace délky v definicích sloupců znaků ve znakových jednotkách. (Před MySQL 4.1 byly délky sloupců interpretovány v bajtech.) To platí pro typy CHAR, VARCHAR a TEXT.
Je zajímavé (nepřemýšlel jsem o tom), že maximální délka sloupce varchar je ovlivněna utf8 následovně:
Efektivní maximální délka VARCHAR v MySQL 5.0.3 a novějších závisí na maximální velikosti řádku (65 535 bajtů, které jsou sdíleny mezi všemi sloupci) a použité znakové sadě. Například znaky utf8 mohou vyžadovat až tři bajty na znak, takže sloupec VARCHAR, který používá znakovou sadu utf8, může být deklarován jako maximálně 21 844 znaků.