MySQL version 5.0.51とcseついて。
cseというフリーのデータベース接続ツールを使用してMySQLに接続しているのですが、
その際、varchar(32)という項目に「あいうえおかきくけこ」を入力しようとすると
「あいうえおかきく」までしか登録されません。
データベースの文字コードはUTF8を設定しているので全角1文字3バイトだと思うのですが
cseだと1文字4バイトで認識されているのでしょうか?
この事象を調べている最中に、Oracleではvarchar(X)でXバイトだが、
MySQLだとX文字という記述を見つけ、そうだとしたら32文字登録可能なのに
8文字しか登録されない??
と迷走しております。どなたかご存知の方ご回答いただければ幸いです。
No.1ベストアンサー
- 回答日時:
cseって、もうサポートも終わってて、動作保証もされていないと思いますが。
。。ODBC接続しているのですよね?
ODBCはどのバージョンのものを使っているのでしょうかね?設定で、set namesを投げるようにしてますか?
接続後、
show variables like '%char%'
で、有効になっている文字コードをまず確認してください。
また、
show create table 表名
で、意図した表定義になっているか、特に文字コードを確認してください。
>Oracleではvarchar(X)でXバイトだが、MySQLだとX文字という記述を見つけ
varchar(x) の x は、MySQL 4.1より前では「バイト数」でした。MySQL 4.1からは「文字数」です。
この辺は、MySQLユーザ会のFAQが参考になるでしょう。
http://www.mysql.gr.jp/
ちなみに、cseでは
「古いバージョンの日本語サーバー対応版 libmysql.dll を使ってMySQLに接続できるようにしていた」
ものが、MySQL 5.0でのユーザ認証方法(パスワードの形式変更?)があり、ODBC接続するしかなくなった
ような記憶があります。ともかく、もうサポートされておらず、MySQL 5.0での動作保証はされていません。
>varchar(x) の x は、MySQL 4.1より前では「バイト数」でした。MySQL 4.1からは「文字数」です。
>ような記憶があります。ともかく、もうサポートされておらず、MySQL 5.0での動作保証はされていません。
ありがとうございました。
なるほど、5.X環境なので文字数になるし、それで上手く動かないのはやはりCSEが対応してないからなんでしょうかね。
ちなみに文字コードはUTF8でした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL あと、MySQLの文字コードはutf8 気になりますね 1 2022/12/01 07:22
- MySQL mysqlがインストールされているのかどうか 1 2023/06/05 14:19
- MySQL mysqlがインストールされているのかわかりません 1 2023/06/05 02:26
- その他(プログラミング・Web制作) COBOL数値転記をCOPY句内での仕様 6 2022/06/15 18:48
- PostgreSQL PostgressからMySQL(MariaDB)へ構造を変更する際のTimestamp等について 2 2023/04/04 12:09
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- その他(プログラミング・Web制作) 文字コード及びフォントに関する次の記述を読み,適切なものをすべて選べ。 ASCIIとは,英数字だけを 4 2023/01/11 19:10
- MySQL 私の考えていることは ・mySQL ・PHP ・web制作 この三つのスキルがあれば実現しますか? 4 2023/08/19 02:48
- docomo(ドコモ) dアカウントの携帯電話番号が登録できない。ワンタイムコードがSMSに届かない。 2 2023/07/09 23:07
- C言語・C++・C# VisualStudioのソースコードで漢字を使いたい 4 2022/05/21 10:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SQLで同じDBに対し2つのコネク...
-
SQLServer,接続失敗時のエラー...
-
ACCESSからSQLServerのデータを...
-
IBM系のDBでIMSに関して
-
ネットワーク越しにODBC接続
-
ADOを利用したODBC、OLEDB経由...
-
データベースへ接続できない
-
drop user できない。ORA-01940
-
DB接続ができなくなって困って...
-
ACCESS VBAでサーバー起動して...
-
SQLのエラー(~付近に不適切な...
-
同じSQL文で速度がだいぶ違う
-
SQL Loaderを使いたい
-
Oracle 8i コンマ(,)を含むデ...
-
ユーザー定義関数内でのsp_exec...
-
ACCESSで作成したアプリケーシ...
-
sqlcmdでクエリの実行結果をバ...
-
1サーバに対する複数インスタン...
-
BULK INSERTで失敗
-
MSDEまたはSQLServerでReadOnly...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DB接続ができなくなって困って...
-
SQLServer,接続失敗時のエラー...
-
SQLで同じDBに対し2つのコネク...
-
drop user できない。ORA-01940
-
ACCESSからのODBC接続のみ応答...
-
ADOを利用したODBC、OLEDB経由...
-
ACCESSからSQLServerのデータを...
-
symfowareへのODBC接続方法
-
IBM系のDBでIMSに関して
-
RDO と DAO の違いについて(S...
-
MSDEの同時接続ユーザー制限
-
コンピュータ名の変更によってI...
-
SQLServer認証とWIndows認証
-
クライアントでの処理が遅い
-
VB6.0(SP6)でMySQLに接続したい
-
SQL Serverの移行について
-
DBに接続する時のオープンとク...
-
OLE DBプロバイダを使ってADOで...
-
サーバー接続時、ホスト名はIP...
-
Access から SQLserver に接続...
おすすめ情報