ホームページ >バックエンド開発 >PHPチュートリアル >PHP プログラミング Web ページで中国語を取得できませんか?ただし、phpadmin のデータベースには中国語が表示されます。

PHP プログラミング Web ページで中国語を取得できませんか?ただし、phpadmin のデータベースには中国語が表示されます。

WBOY
WBOYオリジナル
2016-06-23 14:02:52858ブラウズ

$conn = mysql_connect("localhost","root","1234") または die("データベース サーバーに接続できません:".mysql_connect_errror());
mysql_select_db("messtest",$) conn);
$results = mysql_query("select * from gbbook");

mysql_query("setnames 'utf8'",$conn);// 中国語のエンコーディングを使用します。 ($row = mysql_fetch_row($results)){
echo $row[0]."".$row[1]."".$row[2]."".$row[3]."".$ row [4]; '", $conn);//中国語エンコーディングを使用します;

試してみましたが、うまくいきません。
mysql_query("setnames 'utf8'",$conn);//中国語エンコーディングを使用します。
mysql_query("setnames 'utf8'",$conn); mysql_query("set names 'gbk'",$conn);
全部試してみましたが、何も機能しませんでした。私は phpadmin で gb2312 を使用します

ブラウザと php ファイルを gbk エンコーディングに統合し、最初の行を追加します:

header("content-type:text/html;charset=gbk")

エンコーディング形式は何ですかmysql がインストールされたら、my.ini (MySQL のインストール ディレクトリ内) で「default-character-set」(2 つの場所があります) を見つけて、latin が中国語でサポートされているエンコーディングである gbk または utf-8 に変更されているかどうかを確認してください。形式は gbk utf-8 にすることができます
//純粋な php で HTML コードが含まれていない場合は、次のコードを追加します

header("content-type:text/html;charset=gb2312") または header("content-type : text/html;charset=gbk")

//php と html コードの両方がある場合は、次のコードを追加するだけです


phpmyadmin は自動的に調整します。プログラムのエンコーディングとデータベースのエンコーディングを確認する必要があります。統一してください。

データベースのエンコーディングとページ表示のエンコーディングを確認することが最善です。エンコーディングは一貫している必要があります。

上記の変更を行ってもまだ機能しません。他に問題がありますか? ? ?

1. my.ini で latin が gbk に変更されました

2. 当初はデータベースに gb2312 を使用していましたが、現在は gbk にも変更されています
3. このコード ページには

ダメです、アドバイスお願いします

一般的に言えば。 。
1. ページの文字エンコーディング
2. データベースの文字エンコーディング
3. データベースコードで設定されている文字エンコーディングを読み取る

この3つが一致していれば問題ありません

こんにちはあなたは間違っていました。現時点であなたの問題に遭遇していましたが、解決しました。

次の段落があります: mysql_query("setnames 'utf8'",$conn);//中国語エンコーディングを使用します。これは間違っているだけでなく、データベース全体ではなく、setnames データ テーブルのみを utf8 エンコーディングに設定します。 mysql_query($results,$conn); の下の mysql_query("SET NAMES utf8"); を削除して追加する必要があります。

私は初心者です、そしてあなたもそうです。

Web ページを utf8 に設定しましたが、データベース フィールドは gbk に設定されています。マンもエラーなく読めます。


ページのエンコーディングも変更する必要があります
header("content-type:text/html;charset=utf-8");
mysql_query("set names 'utf8'"); をデータベースに追加します

mysql_query("setnames 'utf8'",$conn); //中国語のエンコーディングを使用します

この文はデータベースに接続した後に配置する必要があります

$conn = mysql_connect("localhost","root","1234")または die("データベース サーバーに接続できません:".mysql_connect_errror());
mysql_select_db("messtest",$conn); // 中国語のエンコーディングを使用します。
...
...

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。