2011-10-11 7 views
-1

ここでは、エンコードに問題がある古いMySQL3データベースがあります。システムを交換する必要があるため、修正が必要です。私は文字čを入力する必要があります。しかし、そのエンコーディングは何ですか? >ä
ö - - >ö
ü -MYSQL3データベースの文字コードのエンコーディングは?

A用>ü

しかし、私はletter č用電卓/マップを必要としています。

MySQLデータベースがある3.23.49

編集:

私は理由はphpMyAdminのことだと思う - 2.8.0.3が使用されています。このバージョンでは、

<meta http-equiv="Content-Type" 
content="text/html; charset=iso-8859-1" /> 
+1

コンポーネントバイトのUnicode文字を手作業で書き出していますか? Yuk! –

+0

いいえ、私はB-Vのような既存のエントリを持っています。私はそのようなものを入力したいと思います(phpmyadmin、通常のフィールド編集)。しかし、私は文字のエンコーディングが必要です。 – testing

+1

だから..... "はい" .. –

答えて

1

あなたは利用したいどちらかの質問をするALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name; or ALTER TABLE t MODIFY latin1_text_col TEXT CHARACTER SET utf8; or ALTER TABLE tbl_name DEFAULT CHARACTER SET charset_name;

あなたの方法は、それは非常に明確にあなたが文字列のエンコーディングと文字列とバイトの間の関係についてのいくつかの主要な誤解を持っていることになります。

UTF-8文字がほしいと思うのですが、どんなプログラミング言語でも分かりやすいか、UTF-8がどのように動作するかを知ることで、どのバイトにマップするかを尋ねるのではなく、 1バイトの固定幅エンコーディング(おそらくISO-8859-1)で文字にマップします。

+0

その間、MySQLデータベースはバージョン3なので、私は自分の質問を更新しました。あなたがUTF8エンコーディングをあまり扱っていないと言っても間違いありません。しかし、問題なくMySQL v.3データベースでUTF8を使用することができるかどうかもわかりません。エンコーディングを変更することができる場合、どのスクリプトを書き直さなければならないのか分かりません。私の仕事はシステム内のキャラクターを獲得することであり、システム全体を変更することではないので、私は迅速で汚れた解決策を模索しました。私の質問は、これがすぐに起こるので、システムをどう変更するかではありませんでした。 – testing

+0

「¶」のような記号がどこから来ているのかという関係を説明しているかもしれません。私の考え:シンボルはUTF-8でエンコードされていますが、ISO-8859-1として表現されています。データベースでは、エントリはISO-8859-1として保存されますが、PHPスクリプトからの出力ではUTF-8コーディングが使用されますか?だからあなたの解決策は、UTF-8としてエントリを見るためにテーブルをUTF-8に変更することです。しかし、これがPHPスクリプトなどに及ぼす影響は何ですか?または、ISO-8859-1エンコーディングのエントリを表示しているphpmyadminの出力だけですか? – testing

+1

データがUTF-8としてデータベースに正しく格納されている可能性はありますが、データを見るために使用しているツールはISO-8859-1を前提としています。 "ö"は2バイト0xC3 0xB6としてUTF-8で表されます。これらのバイトをISO-8859-1でエンコードされた文字を表すように解釈すると、 "¶"となります。 –

0

を使用します。UTF8 Generalを使用します。私はそれがあなたが必要とするものの大部分をカバーしていることを発見しました。

Ä[008D]

メモ帳を開き++:

+0

あなたは正しいです。しかし、私はシステム全体を再構成する必要があります。もし私がそれを変更したら、私はそれを他の多くの面で変えなければなりません。現時点では、文字čのエンコーディングが必要です。このような翻訳のリストを含むテーブル/マップは素晴らしいでしょう。 – testing

-1

は解決策を見つけました。あなたの手紙(č)を入力してください。 ANSIでエンコードします。それはÄしか表示しませんが、コピー&ペーストすると上記のコードが得られます(長方形は表示されませんが、00ADの値が含まれています)。

それでもまだ動作しませんが、質問に回答する必要があります。

1

データベースをSQLファイルにエクスポートします。すべての文字が中国語(犯罪なし)のようなものであれば問題ありません。)次に、以下のコマンドを使用してファイルを変換します。

http://en.wikipedia.org/wiki/Iconv

その後、あなたのファイルを開きます。すべての文字が適切であることがわかります。

関連する問題