質問

だから私はmysql_real_escape_stringを使用してデータベースにデータを挿入しています...しかし、それを行うと、すべてのアポストロフィをシンボルに置き換えます -

したがって、表示する代わりに、表示しています。

データベースから読み返したときに、それらをアポストロフィに再変換する方法はありますか?

役に立ちましたか?

解決

これは、何らかの形で問題をエンコードするキャラクターです。

UTF-8で、 (U+2019)は0xE28099でエンコードされています。そしてそれはキャラクターを表します â (0xe2)、 (0x80)、および (0x99)in Windows-1252.

だからあなたはただ忘れていたようです 出力文字を適切に指定します そのため、ブラウザは代わりにWindows-1252をエンコードするデフォルトの文字を使用します。

他のヒント

申し込み mysql_set_charset PHPでUTF-8に。

データベースとアプリケーションが同じ文字エンコードを使用していることを確認してください。

バイナリで、 ' 値は同一です ’, 、したがって、エンコードが同じに設定されていることを確認する必要があります。

PHPアプリケーションでは、次の2行でこれを指定できます。

define(‘DB_CHARSET’, ‘utf8′);
define(‘DB_COLLATE’, ”);

これにより、アプリケーションがUTF-8文字セットを使用するように設定されます。これにより、データベースの照合と一致するようにする必要があります。問題はなくなります。

データベースの文字セットをプログラムで変更できます mysql_set_charset 働き。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top