0

データベースから大量のテキストなどの情報を取得していますが、PHP を使用してエコーしている間に文字が変更されています。通常のものを表示するにはどうすればよいですか?ありがとう。

//makes database connection and queries the db
$row = mysqli_fetch_array($result);
echo $row['text'];



  � inside has a question mark
\ before every apostrophe
and it\\\'s

もっと...

4

1 に答える 1

2

まず、過剰なスラッシュ。これは通常、 が原因である可能性がある過度のエスケープによって引き起こされます。magic_quotesこれをオフにmysql_real_escape_stringして、データベースに入るデータで使用することをお勧めします。ただし、オフにする前に、データが適切にエスケープされていることを確認してください。これにより、サイトに sql インジェクションのエクスプロイトが導入される可能性があります。

変なキャラまで。データベースと Web サイトの文字セットが一致している必要があります。メタ タグまたは設定のいずれかを使用して、Web サイトの文字セットが utf-8 に設定されていることを確認しますheader

の変更は大変ですが、一度変更を行ってしまえば、データを再度magic_quotes使用することを心配する必要はありません。そもそもデータが適切にエスケープされていれば、データベースから出てくるデータを扱うstripslashes必要はないはずです。stripslashes

于 2011-04-15T04:47:40.460 に答える