人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MySQLのtext型に格納されている末尾の不完全なマルチバイト文字列を削除する方法を教えてください。

※text型の制約でバイト単位でカットされ末尾に不完全な文字列が発生しました。


【環境】
MySQL 5.0.87(Tritonn 1.0.12)
データ型textに65,535バイト以上のマルチバイト文字列をINSERTしたレコードが大量にある。
ujisで格納されている。

【やりたいこと】
ujisで格納されているレコードをcsvでエクスポートしNKFでutf8変換しインポートしたい。
エクスポートの際、となりの文字列と繋がって文字化けが発生してしまう。

●質問者: uptime
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:CSV MySQL nkf Tritonn インポート
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● deflation
●20ポイント

回答とは関係しないのでポイントは不要で結構ですが。ujisをutf-8に変換するとビット長が長くなりますから、かえってデータを失うことになりませんか。

ご確認下さい。

◎質問者からの返答

ありがとうございます。

utf8に変換後、MEDIUMTEXTのフィールドに格納する予定なので失うデータは壊れた文字列のみだと考えております。


2 ● taroe
●50ポイント ベストアンサー

・漢字エリア

上位1バイト 0xa1?0xfe

下位1バイト 0xa1?0xfe

・半角カナエリア

上位1バイト 0x8e

下位1バイト 0xa1?0xdf

http://charset.7jp.net/euc.html

最終のバイトが0xa1?0xfeの時だけそれが切れたものかどうかを判断して

切れたものならそのバイトを捨てる

◎質問者からの返答

ありがとうございます。

参考にさせていただきます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ