varchar(M)のMは文字数ですかバイト数ですか?
os:ターボlinuxです。
varchar属性にvarchar(10)と指定すると10文字入ると思っていたのですが、全角で入力すると5文字、半角で10文字でした。
マニュアル6.2のカラム型によると、
M の範囲は 0 〜 255 文字とあります。
TINYBLOB , TINYTEXT は最大長が 255(2^8 - 1)文字
BLOB , TEXTは 最大長が 65535(2^16 - 1)文字
MEDIUMBLOB , MEDIUMTEXTは 最大長が 16777215(2^24 - 1)文字
そして
LONGBLOB , LONGTEXT は最大長が 4294967295 または 4G(2^32 - 1)バイト
となっています。
LONGだけが「バイト」という表現、それ以外はvarcharも含めて文字数という表現なので、当然文字数でカウントしていると思っていたので完全に計算が狂いました。
これはマニュアルが間違えているのでしょうか?
それとも、文字コードによって変わるのでしょうか?
その場合、どの文字コードがバイト換算でどの文字コードが文字数換算なのでしょうか?
また、MySQLでどの文字コードが使用されているかどこを見れば分かるのですか?
となたかご教授下さい。
お礼
有難うございます。Pがつかないものにしましたら、見事そろいました。フォントについて知識不足でした。本当に有難うございました。