アプリ版:「スタンプのみでお礼する」機能のリリースについて

MySQL 5.0.41を使っております。正確には、Mac OS X上でMAMP ver 1.7を導入しております。この環境で、以下の文を実行すると、
show variables like 'character\_set\_%';
+--------------------------+--------+
| Variable_name | Value |
+--------------------------+--------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | latin1 |
| character_set_system | utf8 |
+--------------------------+--------+
です。ここで、質問なのですが、
フィールドの型としてvarchar(50)とすると、
全角文字が16文字しか入りません。
つまり、UTF8の全角1文字に対して3バイトとカウントしているためと思われます。つまりvarchar(50)と設定すると、
50/3=16.66.. なので、このvarchar(50)は、50バイトまでと設定していることになります。MySQL4.1以降は()の中身は文字数と聞いていたのに、
実際とは異なり、しっくりきません。この結果は正しいのでしょうか?

A 回答 (1件)

カラムの属性にCHARACTER SETを入れてみてはどうでしょうか。



参考マニュアル
http://dev.mysql.com/doc/refman/5.1/ja/string-ty …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!