0

次のステートメントを実行しています。

$mystring = <<<EOT
UPDATE sites_niche SET `short_review` = REPLACE(`short_review`, '’',"'");
EOT;

ただし、phpmyadminに配置すると機能するため、機能しません。犯人は、’単にキャラクターが置き換えられていないこの悪いキャラクターです。

更新ステートメントを画面に出力しようとしたところ、次のようになりました。

UPDATE sites_niche SET `short_review` = REPLACE(`short_review`, '’',"'");

データベースに入るとすぐに文字列が文字化けすると思います。私の質問は、これらの文字セットをエンコード’して、データベースに移動するとすぐに文字化けしないようにする方法です。

4

2 に答える 2

1

あなたの投稿には 2 つの問題が見られます。

エンコード形式がわからない場合は、php mb_detect() 関数を使用して文字エンコード形式を確認し、特定された形式を以下の解決策に使用できます。

  1. php から mysql に更新

解決策: - Mysqlへの接続を担当するphpコードは使用する必要があります

mysql_set_charset ( string $charset [, resource $link_identifier = NULL ] ) 

2.印刷すると文字化けする

解決策 : - ページの doctype 宣言で文字エンコーディングを設定する必要があります。そうしないと、文字化けした文字が表示されます。

于 2012-09-12T07:53:04.353 に答える
-1

iconv 拡張機能http://es.php.net/manual/en/function.iconv.phpまたは mbstring http://es.php.net/manual/en/function.mb-convert-encoding.phpを使用できます。文字列をある文字セットから別の文字セットに変換する

于 2012-09-12T07:38:28.197 に答える