2011-12-14 1 views
0

私のmysql行にはvarbinary(24)というデータがあります。通常のテキストに変換したいのですが、重要なのはvarbinaryに特殊(ポーランド語ąśżćęł)の文字が含まれていることですデータの変換中に失われることはありません。Varbinary data INTO textとその逆

どうすればいいですか?

VARBINARY例フィールドの例:

bfebb1e2c0c720b8c1c5e420202020202020202020202020 

答えて

0

あなたが元chartset知っているとき通常これはCONVERTを使用して行うことができます。

mysql> SELECT 
    -> CONVERT(x'ece0ece020ecfbebe020f0e0ecf320202020202020202020' 
    ->   USING cp1251) as s; 
+--------------------------------------+ 
| s         | 
+--------------------------------------+ 
| мама мыла раму      | 
+--------------------------------------+ 
1 row in set (0.01 sec) 

をしかし、私は人間の何にもbfebb1e2c0c720b8c1c5e420202020202020202020202020をデコードするchartsetを見つけることができませんでした読める。

+0

よろしくお願い申し上げます。あなたのクエリを使用して私のHex: '50656c6572796e61204dea7374776120'を変換すると、私は正しい結果を得られません。 '50656c6572796e61204dea7374776120'の正しい結果は' PelerynaMęstwa'であるべきです(ポーランド文字[ęęśćżę]を覚えておいてください)! – Cyclone

+0

@Cycloneは、私が言ったように、どのフィールドでデータをプッシュしているのかわかりません。これを知っているのはあなたです。また、文字セットがmysqlによって認識され、サポートされている場合は、 'cp1251'を文字セットに置き換えることができます。 – newtover

+0

さて、文字セットは指定されていません。テーブルオプションにはlatin1_swedish_ciの文字セットがあります。クエリの例を教えてください。「PelerynaMęstwa」(ポーランド語の文字を含む)のようなテキストを16進数に変換するにはどうしたらいいですか? – Cyclone