複数文字コードを使ったテーブルへのINSERTの件 再考

WikiにIntroducerを使って以下のようにC/Jは実行すべきと書いていたけれども,

INSERT INTO t1 (c1, c2) VALUES ('ああ', _utf8 'ああ');

これは間違いで,こうでなければ成らない.

INSERT INTO t1 (c1, c2) VALUES ('ああ', _utf8 '縺ゅ≠');

なぜかというと,そりゃutf8文字列をこの例だとsjisで表示してるわけですから.見かけ上文字化けしない方がおかしい.

うっかりC/J 5.1にバグしこんじゃったかと心配してチェックしたけどC/J 5.1自体は特に問題なし,しっかり㈱も扱えてましたとさ.Wikiは修正しときました.

上記は以下を実行しているのと同じ.

INSERT INTO t1 (c1, c2) VALUES ('ああ', _utf8 x'E38182E38182');

ちなみにラテン文字だと文字化けしないのでこんな感じ.

INSERT INTO t1 (c1, c2) VALUES ('aaa', _utf8 'aaa');