質問: MySQLのtext型に格納されている末尾の不完全なマルチバイト文字列を削除する方法を教えてください。 ※text型の制約でバイト単位でカットされ末尾に不完全な文字列が発生しました。 【環境】 MySQL 5.0.87(Tritonn 1.0.12) データ型textに65,535バイト以上のマルチバイト文字列をINSERTしたレコードが大量にある。 ujisで格納されている。 【やりたいこと】 ujisで格納されているレコードをcsvでエクスポートしNKFでutf8変換しインポートしたい。 エクスポートの際、となりの文字列と繋がって文字化けが発生してしまう。
回答: ・漢字エリア 上位1バイト 0xa1~0xfe 下位1バイト 0xa1~0xfe ・半角カナエリア 上位1バイト 0x8e 下位1バイト 0xa1~0xdf 最終のバイトが0xa1~0xfeの時だけそれが切れたものかどうかを判断して 切れたものならそのバイトを捨てる