2017-03-18 9 views
1

私はこの1つの私の頭の上に少しだと思う。私は彼らがヘブライ語でペーストできる友人のためのASP.Net MVCウェブサイトを開発しました。それは変換/翻訳を行います。私はASP.Net MVC 5のデータバックエンドとしてMySQLを使用しています。UTFヘブライ文字エンコーディング問題ASP.Net MVC on Mono

このウェブサイトはかなりシンプルです。データベースは、文字と翻訳を格納する2つのテーブルで構成されています。私はデータアクセス層にMySQL EF6を使用しています。ウェブサイトには基本的に3つの画面があり、各画面を管理するための画面と、翻訳を行うための画面があります。

開発環境(VS 2017/Windows 10)で実行すると、すべて正常に動作します。私はヘブライ語のUnicode文字を使用してデータを編集することができ、データベースに適切に保存します。次に例を示します。

Hebrew Screenshot 1

I保存]をクリックすると、私はこれらの値がデータベースに保存されることを期待する、と彼らは正常に動作します。しかし、私は最近、ホスティングのためにMono/Ubuntu環境で動作するようにWebサイトを変換しました。 mod_monoとApache2を使って環境設定をしました。すべてが私はこのようなページを保存する場合を除いて、完璧に働いている、ヘブライ語の文字がא疑問符に変換されます(?):

Hebrew Screenshot 2

は、ここで私はこれまでに決定したものです。

  • 私は、データが罰金を表示ためのApache/MySQLは、これらの値を処理するために適切に設定され知っています。私はそれを保存するときだけそれは台無しになる。
  • 私は同じサーバー上でPhpMyAdminも実行しています。テーブルエディタで同じ行を変更すると、ではなく、がエンコードされます。
  • デフォルトのエンコーディングutf-8をApacheの設定に追加してみました。
  • 私はutf-8のデフォルトのエンコーディングをweb.configに追加しようとしましたが、うまくいきませんでした。

値がどこまで狂っているのかをトラブルシューティングするにはどうすればよいですか?これを修正するために私が適用する必要がある簡単な解決法はありますか?

ありがとうございます!

答えて

0
  • 保存するバイトは、utf8/utf8mb4としてエンコードされません。これを修正してください。
  • データベースの列はCHARACTER SET utf8(またはutf8mb4)です。これを修正してください。
  • また、読み取り中の接続がUTF-8であることを確認してください。
  • HTMLフォームは<form accept-charset="UTF-8">のように開始します。それは、そのリンクの「データのテスト」で説明したように、HEXを見つけ、あなたの問題を解決するのに十分ではない場合

より多くの議論に関しては、Trouble with utf8 characters; what I see is not what I stored

を参照してください。さらに助けを求める。

関連する問題