ホームページ  >  記事  >  バックエンド開発  >  PHPでmysqlデータベースを読み込む際の文字化けの解決方法については、mysql文字化け_PHPチュートリアル

PHPでmysqlデータベースを読み込む際の文字化けの解決方法については、mysql文字化け_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-12 09:08:081013ブラウズ

phpがmysqlデータベースを読み込む際のコード化けの解決策について、mysqlのコード化け

phpがmysqlデータベースを読み込む際のコード化けの解決策について

PHP が mysql を読み取るとき、次の場所に文字セットが関係します。
1. データベーステーブル作成時にデータベーステーブルの文字セットを指定します。たとえば

  • テーブルテーブル名を作成する
  • (
  • id int not null auto_increment,
  • タイトル varchar(20) が null ではありません、
  • 主キー ('id')
  • )DEFAULT CHARSET =UTF8;
    コードをコピー
    2. mysql の文字セット
    mysql には、character_set_client、character_set_results、character_set_connection の 3 つの重要な変数があります。
    character_set_client を設定することで、PHP がデータベースに保存するエンコード方式を Mysql に伝えます。
    character_set_results を設定することで、PHP がどのような種類のエンコードされたデータを取得する必要があるかを Mysql に伝えます。
    character_set_connection を設定することで、PHP クエリ内のテキストにどのエンコーディングを使用するかを Mysql に指示します。
    3. データベースに接続した後、データベース間で文字を送信するときに使用されるデフォルトの文字エンコーディングを設定します。
    mysqli::set_charset() または mysqli::query('set names utf8') を使用して設定します。
    「SET NAMES」の代わりに mysqli::set_charset(mysqli:set_charset) を使用してみてください
    • $db = new mysqli('localhost','user','passwd','database_name');
    • $db->set_charset('utf8');
      コードをコピーします
      utf-8ではなくutf8であることに注意してください
      (ここでの問題は、データベースとphpがエンコーディングを統一していることですが、mysqliが統一されていない場合です:set_charset() 関数を呼び出しましたが、データを読み取るときにまだ文字化けが発生するのはなぜですか?
      SETcharacter_set_connection = utf8;
      )
      4. HTML ページで使用される文字セット。メタタグに
      を設定する
      コードをコピー
      5. php テキスト ファイルで使用される文字セット。
      Linux でファイルを開くには vim を使用できます。

    • :set encoding
      と入力して、ファイルで使用されている文字セットを表示できます
      文字化けしていないことを確認するには、ファイル自体のエンコーディングを確認する必要があります、HTMLで指定されたエンコーディングと、PHPからMysqlに伝えられたエンコーディング(character_set_clientとcharacter_set_resultsを含む)が統合されました。 mysqli:set_charset() 関数または「SET NAMES」も使用します。
      「3」以降の質問に答えて、データベースリンク後の文字セットを設定した場合と設定しなかった場合の結果をテストするためにいくつかの例を書きました。テスト環境はUbuntu 12.04、MySQL 5.5、php 5.5.7。
      結果は以下の通りです:
      (1) データベーステーブルの文字セットはutf8です。セット名utf8
      を使用しないと正常に中国語の挿入と読み込みができますが、mysql
      (2)で文字化けが表示されます。 ) データベーステーブルの文字セットはutf8です。中国語を正常に挿入して読み取るにはセット名utf8
      を使用してください。mysqlでの表示は正しくなります
      (3) データベーステーブルの文字セットはutf8ではありません。 utf8
      を mysql で表示すると、読みはすべて疑問符になります。
      Zero Zero H5 から選択された PHP チュートリアル


      http://www.bkjia.com/PHPjc/1057283.html

      www.bkjia.com

      tru​​e

      技術記事 phpがmysqlデータベースを読み込むときに文字化けする解決策について、mysqlが文字化けする phpがmysqlデータベースを読み込むときに文字化けする解決策について、phpがmysqlを読み込むときに、以下の場所に文字が関係しています...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。