.png)
私は linode.com でホストされている Debian Linux 上で SQL サーバーを実行していますが、一部のデータにはヘブライ文字が含まれています。
Windows 7 で putty ssh 経由でサーバーに接続しています。SQL 管理コンソール (mysql) を実行して選択クエリを実行すると、すべてのヘブライ文字が「?」として表示されます。
どこに問題があるのかさえわかりませんが、ヘブライ語が失われているのは、mysql コンソールか putty のどちらかだと思います。
データ自体は問題ありません (Web ページ経由でアクセスしても問題なく表示されるため、このことはわかります)。
このシナリオでヘブライ語を有効にするにはどうすればいいか、何かアイデアはありますか?
ありがとう。
答え1
文字エンコーディングは少し変化しますが、データ (結局のところ、すべてバイナリです) も変化します。
まず、データベースのエンコーディングとテーブルの個々のエンコーディングを確認する必要があります。エンコーディングは内部ストレージを参照します。良い例としては、ISO-8859-1
データベースが のみを期待するようにを格納しているISO-8859-1
が、データの一部がヘブライ語の場合、これらの文字valid
は に含まれていない、などが挙げられISO-8859-1
ます。ただし、データの入力と取得を行うクライアントがISO-8859-8
(ヘブライ語) を使用している場合は、ほとんどの場合、正常に機能しているように見えます。
こここのトピックに関する MySQL からのガイドです。
可能な場合は UTF-8 を使用することをお勧めします。理由はいくつかありますが、データベースのエンコードを盲目的に変更しないでください。これはデータを再エンコードするのではなく、単に MySQL に UTF8 のように扱うように通知するだけです。(ソースが ISO-8859-1 または ISO-8859-8 の場合、データが破損します。)こここれも文字エンコードに関する入門書なので、一度目を通しておくとよいでしょう。「ソフトウェア エンジニアが Unicode について知っておくべき最低限のこと」
さらに、ターミナル (bash セッション)、ターミナル エミュレーター (putty)、および db コンソール (mysql) はすべて、どのエンコードを扱っているかを認識する必要があります。UTF-8 を指定してから、UTF-8 データで作業するのが最善です。