実際、ローカルホストのデータベースからデータを取得しているときに問題に直面しています。データベースには、特殊文字を含む行が含まれています。
「よく頑張ったね」など。
しかし、echo $row['lines'];
それを使用してデータをフェッチすると、「You?ve done a Good Job」が表示されます。
誰でもこの問題を克服する方法を教えてください。
データベースのエンコーディングを確認し、php で接続のエンコーディングを確認し、php-page のエンコーディングを確認してください。最初の 2 つは一致する必要があります。ページのエンコーディングがデータベースのエンコーディングと一致しない場合は、iconvまたはmb_convert_encoding関数の使用を検討する必要があります。
また、html を使用している場合は、正しいメタ タグが必要です。
<meta charset='utf-8'>
また
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
さらに、php から正しいヘッダーを送信すると、次のようになります。
header('Content-type:text/html;charset=utf-8');
私がお勧めしないのは、データベースに入力する前に HTML エンコーディングのようなものを使用しようとすることです。これに関する 1 つの問題は、結果をアルファベット順に取得するなど、データへのアクセスがより困難になることです。
私がお勧めするのは、すべてを UTF-8 に切り替えることです。つまり、次のことを意味します。
エンコードの問題のようです。使ってみて...
$row["lines"] = utf8_encode($row["lines"]);
...そして、ウェブサイトで utf-8 エンコーディングが有効になっていることを確認してください。