sql >> データベース >  >> RDS >> Mysql

データベース内の文字にアクセント記号を保存する方法

    UTF-8は、(一般的に)世界中のあらゆる文字セットにとって「安全な」エンコーディングです。 (常に最も効率的であるとは限りません。Unicodeは「統一されたhan」モデルでCJKスクリプトを過小評価しているが、先に進むという議論があります…)

    ただし、インターフェイスプログラムがUTF-8との間で適切に変換されていない可能性があります。たとえば、ó=>óは、ISO-8859-15やMS-などのシングルバイトのヨーロッパエンコーディングを使用して、UTF-8データ(1文字をさまざまなバイト数に分散できる)が表示されているように見えます。 CP-1451または同様のもの。

    あなたはおそらく データを正しく保存しますが、読み込み中 それは間違っています。 mysqlを使用しているだけの場合 ターミナルプログラムなどの場合は、ターミナルがUTF-8を使用するように設定されていることを確認します(Unix / Linuxシステムでは、locale おそらく.utf8で終わるものである必要があります 、例:私のはLANG=en_US.utf8を持っています )

    GUIツールなどを使用してデータを取得する場合は、その設定/設定パネルで文字セットを確認してください。

    誤って翻訳された文字を作成したアプリケーションに戻す場合は、ロケールを設定するための言語のツールを確認してください。 (おそらく、INSERT ルーチンはそれを正しく持っていますが、SELECT ルーチンに問題がありますか?)

    また、これをWebに送信する場合は、(XML | HTML | XHTML)ファイルにcharset=utf8が含まれていることを確認してください。 適切な場所で宣言されているまたは iconvなどを使用して、UTF-8からドキュメントの文字セット(可能な場合)に変換し直します。 データベースからテキストを挿入するとき。 (もちろん、ほとんどの非Unicode文字セットはUnicodeのサブセットのみを表すことができます。たとえば、ISO-8859-15セットはヨーロッパ言語をカバーするのに適切な役割を果たしますが、キリル文字、アラビア文字、またはCJK書記体系をサポートしていません。文字の翻訳に失敗する可能性があります。)Perlでは、パス引数を使用してopenを開くことができます。 またはbinmodeを使用します 「ファイルハンドル」ストリームに透過的な文字セット変換レイヤーを設定します。




    1. FILEGROUP_NAME()を使用して、SQLServerのファイルグループの名前を返します

    2. 不変の名前'MySql.Data.MySqlClient'のADO.NETプロバイダーが、マシンまたはアプリケーションの構成ファイルに登録されていません

    3. SQL Serverで小文字を大文字に変換する方法– UPPER()

    4. SQLServerの依存関係