ホームページ > バックエンド開発 > PHPチュートリアル > 前回はPHPに接続するSQLファイルのエンコードに問題がありましたが、また問題が発生しましたので解決してください。

前回はPHPに接続するSQLファイルのエンコードに問題がありましたが、また問題が発生しましたので解決してください。

WBOY
リリース: 2016-06-23 14:04:17
オリジナル
872 人が閲覧しました

PHP を使用してデータベースに接続しましたが、データを保存するときに問題が発生しました。ただし、PHP を使用してデータのエンコーディングを変更しました。
===============。 = ==========================
iconv("utf-8","gbk",$array[2])
=== = =======================================
入金は正しいですが、データは取り出しました 何か問題が発生したので、元の方法で戻そうと思いましたが、元に戻す方法がありませんでした...
中国語を取得してWebページに印刷すると、「??」になってしまいました。 「...データのエンコードの問題だったと思います。統一する方法がわかりません
私のPHPエンコードはutf8を使用しており、データベースもutf8です。ブラウザのエンコードにも関係していますか? ...
私のエラーページは以下です。


ディスカッションへの返信 (解決策)


これは問題のスクリーンショットです。本来は「ようこそ Zhang San」のように出力されるはずですが、「ようこそ??」になってしまいました...
最後です。問題が発生したのはデータベースに保存するとき、今度は取り出したときに漢字が「??」になってしまいました…
混乱しています…何か統一する方法はありますか? ..

mysql_query("set names utf8"); //クエリを実行する前にこの文を追加します
ページが文字化けを出力しないようにするには、php ファイルの行の先頭に header("content -type:text/html;charset=utf -8");

$link=@mysql_connect(HOST,USER,PASS) or die("数据库连接失败");mysql_select_db(DBNAME,$link);mysql_query('set names utf8');$sql="select * from users where username='{$username}' and state=1";$result=mysql_query($sql,$link);
ログイン後にコピー

SQL ステートメントを送信する前に、mysql_query('set names utf8'); を追加して問題を解決します。前提条件は、データが中国語であり、文字化けできない!

これは、データベースのエンコーディングに問題があるためです。msyql データベースにアクセスして調べてください。また、Web ページの BOM の問題もあります。問題が解決できない場合は、スクリーンショットを投稿しますので、ご覧ください

皆さんの方法を使用して最終的に解決しました。ありがとうございます。
mysql_query('set names utf8') ;
このステートメントを追加するだけで大​​丈夫です ~

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート