mysqli がストアド プロシージャを呼び出すと、受信した mysql は常に文字化けします。 (操作手順、詳細、スクリーンショットを添付します)-PHP中国語ネットワークQ&A
mysqli がストアド プロシージャを呼び出すと、受信した mysql は常に文字化けします。 (操作手順、詳細、スクリーンショットを添付します)
**越狱兔
**越狱兔 2019-07-22 15:35:41
0
3
1094

ビジネス シナリオ: PHP ページは、1 つの入力パラメーターと 1 つの出力パラメーターを持つ mysql ストアド プロシージャを呼び出します。
問題点: 正常に実行できるのですが、データベースにパラメータを入力すると必ず文字化けが表示されます。

PHP ページのコードは次のとおりです

  
query("CALL x2('$info_name_cn',@exeout_rows)"); $result=$conn->query("SELECT @exeout_rows"); $recordset=mysqli_fetch_assoc($result); $exeout_rows=(int)$recordset["@exeout_rows"]; ?>
---|||---


mysql ストアド プロシージャのコードは次のとおりです

CREATE DEFINER=`数据库名`@`%` PROCEDURE `x2`( IN exein_info_name_cn VARCHAR(5) ,OUT exeout_rows int ) BEGIN set exeout_rows=1; insert into 测试表 ( info_name_cn ) values ( exein_info_name_cn ); END

mysql データベースでは、テストテーブルは「utf8/utf8_ganaral_ci」、文字セットとテストテーブルの内部フィールド info_name_cn の文字セット

**越狱兔
**越狱兔

全員に返信 (2)
innocence

*.phpファイルのエンコードの問題

いいねを押す+1
  • 返事 はい。ありがとうございます。これで完了です。 Notepad++ を直接使用してコピー&ペーストを行っているため、.php ファイルでエンコードの問題が発生しているようです。 操作手順は後述します(初心者なので達人の方は気にしないでください) 1. 新しい abc.txt ファイルを作成し、ファイルを utf8 形式で保存し、名前を abc.php に変更して開きます。 2. 以前に作成したコードを txt メモ帳で開き、コピーして abc.php ファイルに貼り付けます。保存して閉じます。 3. ソフトウェア Notepad++ を使用して abc.php を開き、[エンコーディング] 項目で UTF-8 を選択します (BOM ヘッダーを避けるため)。
    **越狱兔 著者 2019-07-27 15:12:50
流氓越狱兔

補足:同じ状況で、ファイル保存時のエンコード方式をASCIに変更したところ、GBKに設定するとページコードが正常に動作しました。

いいねを押す+0
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート
    私たちについて 免責事項 Sitemap
    PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!