タマニチェンコさんのブログ

最新一覧へ

« 前へ228件目 / 全239件次へ »
ブログ

MySQLの0x5c問題

MySQLでShift_JIS(CP932?)を使うと、0x5c問題にぶつかります。

0x5c問題とは、「2byteコードの中に'\'を示す0x5cコードが含まれるために、問題を起こす」という日本人特有のショボイ障害です。

そんで、MySQLの場合、どうやら0x5cに対応しているらしく、「文字列の最後の一文字」以外は、0x5c文字を使っても問題ないみたいです。しかし、最後の一文字に0x5cを使うとその次の'(シングルクォート)をエスケープしてしまうらしく、sytaxエラーが発生します。

これが、MySQLのShift_JIS対応と微妙に競合するらしく、'表示\'や'表示\\'などといろいろ試してみても一向に突破できません。結局「文字列の最後の1文字が0x5cだったらスペース(0x20)を付加する」という、どう考えてもへぼいロジックで回避してみました。

ちなみに、0x5cを含む文字は以下の通り。

―, ソ, Ы, 噂, 浬, 欺, 圭, 構, 蚕, 十, 申, 曾, 箪, 貼, 能, 表, 暴, 予, 禄, 兔, 喀, 媾, 彌, 拿, 杤, 歃, 濬, 畚, 秉, 綵, 臀, 藹, 觸, 軆, 鐔, 饅, 鷭
コメントを書く
コメントを投稿するには、ログイン(無料会員登録)が必要です。