php がデータベースにデータを挿入するときに文字化けするデータの解決策: 最初にデータベースのエンコーディングを utf8 に設定し、次にデータベースに挿入するテキスト エンコーディング メソッドを決定します。最後に、switch ステートメントを使用して決定します。データの挿入。
推奨: 「PHP ビデオ チュートリアル 」
php はデータベースにデータを挿入しますが、次の問題が発生します。文字化けが発生する
一般に、データベースに挿入されたデータの文字化けはエンコードの問題です。データベースに挿入する前に、コンテンツのエンコード方式を確認できます。エンコード方式と同じであれば、データベースで使用されているもの (utf-8 など) を使用している場合は挿入を実行し、操作が異なる場合はトランスコードします。
まず、データベースに挿入するテキストのエンコード方式を決定します。utf-8 の場合は挿入します。そうでない場合は、utf-8 に変換してから挿入します。
$e=mb_detect_encoding($text, array('UTF-8', 'GBK', 'gb2312')); switch($e){ case 'UTF-8' : //如果是utf8编码就直接插入数据库 break; case 'GBK': //如果是gbk编码就转换为utf-8之后再插入数据库 iconv("GBK", "UTF-8",$data) ; break; case 'GB2312': //如果是GB2312编码就转换为utf-8之后再插入数据库 iconv("GB2312", "UTF-8",$data) ; break; }
プログラムのエンコーディングがデータベースのエンコーディングと一致していれば文字化けはしないのではないかと思ったのですが、データベースに挿入したデータは依然として文字化けしています。 PHPでmysqlに接続する際に、mysqlのエンコードが設定されていないのではないかと思ったのですが、案の定、データベースに接続した後、データベースのエンコードをutf8にしてからデータベースに挿入すると文字化けせずに済みました。
コードは次のとおりです:
$this->conn = mysqli_connect($db['default']['hostname'], $db['default']['username'], $db['default']['password'], $db['default']['dbname']) or die('Connect error!'); //连接到数据库 mysqli_set_charset($this->conn, 'utf8'); //此处不能用utf-8
以上がPHPがデータベースにデータを挿入すると文字化けが発生するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ドリームウィーバー CS6
ビジュアル Web 開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

SublimeText3 中国語版
中国語版、とても使いやすい
