ホームページ >バックエンド開発 >PHPチュートリアル >MYSQLデータベースが文字化けする場合の対処方法

MYSQLデータベースが文字化けする場合の対処方法

WBOY
WBOYオリジナル
2016-06-13 13:22:43903ブラウズ

MYSQL データベースに文字化け
が格納されています。

$db_name="students";
< の設定方法が統一されていないようです。 🎜>$table_name="classone ";

$conn=mysql_connect('localhost','root','abcdef') または

die ("データベース サーバーへの接続に失敗しました。 ".mysql_error());

echo "データベース サーバー情報:".mysql_get_host_info($conn)."
";

$mysql_command="データベースが存在する場合はドロップします"。 $db_name;

$ result=mysql_query($mysql_command);

$mysql_command="データベースの作成 ".$db_name;

$result=mysql_query($mysql_command) または

die ("データベースの作成に失敗しました。".mysql_error());

mysql_select_db($db_name, $conn) または

die ("データベースの選択に失敗しました。". mysql_error());

echo "データベース名: $db_name データ テーブル名: $table_name
";

mysql_query ("SET NAMES 'GB2312'");

$mysql_command="create table " .$table_name;

$mysql_command=$mysql_command."( name varchar(30), numb varchar(40), age int(6))";

$result=mysql_query($ mysql_command) または

die ("データ テーブルの作成: $table_name に失敗しました!".mysql_error());

echo "データ テーブルの作成に成功しました: $table_name
";

mysql_query ("SET NAMES 'GB2312'");

$mysql_command="「.$table_name.」に挿入します。"(name,numb,age)値 ("";

$mysql_command=$mysql_command."Liu Hua","200801",27)";

$result=mysql_query($mysql_command) または

die ("データ テーブル: $table_name の増加 レコードに失敗しました! ".mysql_error());

echo "データテーブル「.$table_name.」のレコードが正常に追加されました。 ";

?>



-----解決策-------- - 一般的に使用されるエンコーディングは utf8-general-ci です
テーブルを統一する必要があるだけでなく、統一する必要があるものが 4 つあります
1 つ目は、データベースの種類、データベース、テーブルとフィールド 3 すべてが統一されている必要があります。確認できます
2 つ目は、ファイルのエンコード タイプです。dw または editplus を使用してページ エンコードを確認できます。異なる場合は、変更する必要があります
3 つ目: データベースにアクセスするときの設定は NAMES utf8;
4 つ目: ブラウザの表示モード、
が GBK または GB2312 を使用するかどうか、これら 4 つの側面を統合する必要があります

------解決策----------------------わかりました、この問題は一昨日発生しました、私の手順は次のとおりです:
1. 編集したコードは UTF-8 BOM フリー形式である必要があります
2. データベース内のプロパティを設定します。すべてのフィールドは utf-8 です
3 。データベースへの書き込みとデータベースからの読み取りを行うには、次のコードを追加します:
mysql_query("set Character set 'utf-8'");
mysql_query("set names utf8");
を使用することをお勧めします。このコードを記述するためのコンストラクター。これはより便利です

------解決策---------一般的に使用されるエンコーディングは utf8-general-ci
統合する必要があるのはテーブルだけではありません。統合する必要があるのは合計 4 つです
1 つ目は、データベース、テーブル、フィールドを含むデータベースの種類です。
2 番目は、ファイルのエンコーディングです。dw または editplus を使用する場合は、ページのエンコーディングを確認できます。別の変更が必要です。
3 番目は、データベースにアクセスするときの設定が NAMES utf8 に設定されています。
4 番目は: ブラウザー表示モード (html)、 です
5 番目は: PHP ファイルヘッダーと (ajax を呼び出すときに変換関数が必要になる場合があります)

PHP コード

header('Content-Type: application/x-www-form-urlencoded'); header('Content-Type: text/html;charset=utf-8');
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。