ホームページ  >  記事  >  バックエンド開発  >  mysql コンソールは文字化けせずに中国語を挿入しますが、php コンソールは文字化けを挿入します。

mysql コンソールは文字化けせずに中国語を挿入しますが、php コンソールは文字化けを挿入します。

WBOY
WBOYオリジナル
2016-06-23 13:56:001049ブラウズ

header("content-type:text/html;charset=utf-8");
$title =$_POST['f_content']; //データベースに接続します
$link=mysql_connect('localhost','root','');
//データベースを選択します
mysql_select_db('bbs',$link)
//文字セットを設定します
mysql_query ("set names utf8");
// SQL ステートメントを生成します
$sql="bss_info (title,content,add_time) の値に挿入します ('$title','$content',now())"; // SQL ステートメントを実行します
$rs=mysql_query($sql);
// SQL エラー プロンプトを生成します
echo mysql_error();
// ページ情報プロンプト
if($rs)
{
echo "情報が正常に追加されました!" ;
}else
{
echo "情報の追加に失敗しました!";
}
?>


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

1. ファイルは utf8 でエンコードされていますか? utf-8 ですか?
Mysql_query("set names utf8") は、挿入されたデータが utf-8 でエンコードされている場合にのみ必要です

1. テーブルは utf-8 でエンコードされていますか? 2. ファイルは utf-8 でエンコードされていますか? ?

メモ帳から開いてください。 上記の PHP ページでは、ファイル?? は表示エンコーディング utf-8 として保存されています
mmsql: my.ini ファイルには、default-character-set=utf8 が表示されます

本当にわかりません間違いです!

私の QQ: 380492399。問題を知っていて、リモートで助けてくれる専門家はいますか? 大変感謝しています。


echo base64_encode($sql);

の前に追加します
結果を投稿します

データベースが utf8 ではない可能性があります... そうしないと、ランダムに挿入すると難病になります。
phpmyadmin を使用して確認してください...


データベースが utf8 ではない可能性があります... そうでない場合、ランダムに挿入すると難病になります
phpmyadmin を使用して確認してください...


ではないでしょうか。 my.iniファイルのデータベースの文字セット設定「default-character-set=utf8」 他に設定する場所はありますか?


6 階の PhpNewnew からの返信を引用: データベースが utf8 である必要はありません... そうでない場合、ランダムに挿入すると難病になります

phpmyadmin を使用して確認してください...


文字セット。データベースのmy.iniファイルに「default-character-set=utf8」という設定がありませんか? 他に設定する場所はありますか?

ほら... これはデフォルトと呼ばれています... つまり、テーブルを確実にカスタマイズできます...
ですよね?

phpmyadmin にアクセスして、まずデータベースがどのようなエンコーディングに設定されているかを確認してください

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