DrupalデータベースでASCII以外の文字が保存されないようにする方法は?
質問
一部のユーザーがノードの本文にコンテンツを入力した後、Drupalでは、引用符やアポストロフィなどのキャラクターが次のように保存されていることに気付きました。
これは、ユーザーが奇妙なキャラクターか何かを入力するためです...
- これは、DrupalデータベースがUTF8用に構成されていないことを意味しますか?
- これをどのように修正できるように、実際には単なるものとして保存されますか?
アップデート私の場合、デコードされた文字は、Drupal MySQLデータベースダンプをダウンロードした結果であり、ASCIIとして保存され、それをMySQLにロードしてデータベースを再配置する結果でした。これは2回発生しました。1回はホスティングを移行したときに1回、DBを台無しにして復元しなければならなかった2回目は手動で起こりました。
解決策は、Drupalバックアップと移行モジュールを使用しており、バックアップファイルをダウンロードし、手動で復元する必要があるということです。これをテストしましたが、機能します。
解決
’ “
のUTF-8エンコードです ’ “
Windows-1252と誤って解釈されます(いいえ ラテン-1)。
これは、DrupalデータベースがUTF8用に構成されていないことを意味しますか?
それは1つの可能性です。その他は次のとおりです。
- データベースにデータを配置するプログラムは壊れています。
- データベースからデータを取得するプログラムは壊れています。
他のヒント
- これは、DrupalデータベースがUTF8用に構成されていないことを意味しますか?
データベーステーブルがに設定されている可能性が最も高いと思います latin1
. 。見てください。あるいは、データベースである可能性もあります 繋がり UTF-8エンコードされていません(送信a SET NAMES utf8;
クエリが時々役立ちます。)
所属していません StackOverflow