PHP-MYSQLの中国語文字化け問題。
MySQL 4.1 から多言語サポートが導入されましたが、PHP を使用して挿入された中国語の文字は、どのエンコーディングを使用しても文字化けして表示されません。
この問題を解決するのは実際には非常に簡単です。
1. テーブルを作成するときに、エンコードタイプを gb2312_chinese_ci.
に設定します。2. PHP ページのデータベース接続ステートメントに行 mysql_query("SET NAMES 'gb2312'",$link); を追加します。
$db_host="ローカルホスト"; $db_password="パスワード";
$link=mysql_connect($db_host,$db_user,$db_password);
mysql_query("SET NAMES 'gb2312'",$link);
$result=mysql_query($query);
この行を書き込みページと読み込みページの両方に追加すると、MYSQL の中国語が正常に表示されます。
関連情報:
MySQL 4.1 から多言語サポートが導入され、いくつかの機能は他のデータベース システムを上回っています。
MySQL
4.1 の文字セット サポート (文字セット サポート) には 2 つの側面があります。 文字セット (文字セット サポート)
セット)とソート方法(照合順序)。文字セットのサポートは 4 つのレベルに細分化されています。
サーバー、データベース、テーブル、接続。 システムの文字セットとソート設定を表示するには、次の 2 つのコマンドを使用できます:!mysql> show variables like 'character_set_%';
| 値 |+-- -- -----------------------+----------------------- -- -+| 文字セット_接続 |
| 文字セット_サーバー || /usr/share/mys ql / charsets/ |+--------------------------+---------------- -- --------+セット内の 7 行 (0.00 秒)
mysql> 'collation_%' のような変数を表示します;+---------------- --- ---+-------------------+| 値 |
+-------------- --- ----+-------------------+
| 照合_データベース | latin1_swedish_ci |
+-- ----+-------------------+
セット内の 3 行 (0.00 秒)
値上記はシステムのデフォルト値です。 (システムがデフォルトでスウェーデン語のソート方法 latin1 に設定されているのは不思議です)...
本来の方法で PHP 経由で MySQL データベースにアクセスすると、テーブルのデフォルトの文字セットが utf8 に設定されていてクエリが送信されても、 UTF-8 エンコードを使用しても、データベースに保存されているデータが依然として文字化けしていることがわかります。問題はこの接続層にあります。解決策は、クエリを送信する前に次の文を実行することです:
set names 'utf8';
setcharacter_set_client = utf8;
setcharacter_set_connection =
set; Collation_connection = utf8_general_ci
作成者 デフォルトの Web ページで送信されたクエリは gb2312 (フォーム ページのメタで確認できます) で、mysql はデフォルトでそれを utf8 として扱います ( Character_set_client=utf8) なので、文字化けしているはずです。同様に、mysql から返された結果は次のように変換されます。 Character_set_results はエンコードされます (テーブルのエンコードに関係なく) デフォルトは utf8 であり、Web ページはそれを gb2312 として扱うため、データによって生成されたタイトルやその他のデータが存在する必要があります。 ライブラリによって読み取られたフィールドは文字化けしますが、他の PHP テキストは文字化けしません。
解決策 (Yi Jian Piaoxue による):
mysql5.0 をインストールするときは、utf8 文字セットを選択する必要があります (phpmyadmin を使用してデータベースとフィールドを作成する場合、ソートで utf8 文字セットを選択する必要はありません)で、php 接続が確立された後に送信します。
$link = mysql_connect('localhost', 'root', 'root');
mysql_query("SET NAMES 'utf8'",$link);
Web ページはまだ文字化けしていますが、もう文字化けしていませんか? Web ページのソース ファイルを確認してください。完全に正常です。 php ソース ファイルをメモ帳で開き、utf8 エンコードとして保存せず、Web ページを更新すればすべて完了です。
または、もちろん、インストール時に utf8 をインストールし、php でセット名「gb2312」を送信し、中国語も正しく表示できるメモ帳のデフォルトの ansi として php ファイルを保存する必要があります
しかし、それはできません。接続するたびにSET NAMES 'utf8'を送信してください。それを完全に解決する方法は見つかりませんでした。
この方法で mysql をインストールするときにデフォルトの文字セットとして utf8 を選択すると、command.exe で mysql コンソールに入ると、クエリ結果が文字化けします。クエリを実行する前に
mysql>set 名を入力します。 ;
または
mysql>set names 'gb2312';
は、mysql クライアントに gb2312 文字セットを使用するように指示することと同等であり、結果は gb2312 が GBK のサブセットになります。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

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

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

ホットトピック









MySQLはオープンソースのリレーショナルデータベース管理システムであり、主にデータを迅速かつ確実に保存および取得するために使用されます。その実用的な原則には、クライアントリクエスト、クエリ解像度、クエリの実行、返品結果が含まれます。使用法の例には、テーブルの作成、データの挿入とクエリ、および参加操作などの高度な機能が含まれます。一般的なエラーには、SQL構文、データ型、およびアクセス許可、および最適化の提案には、インデックスの使用、最適化されたクエリ、およびテーブルの分割が含まれます。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

MySQLは、そのパフォーマンス、信頼性、使いやすさ、コミュニティサポートに選択されています。 1.MYSQLは、複数のデータ型と高度なクエリ操作をサポートし、効率的なデータストレージおよび検索機能を提供します。 2.クライアントサーバーアーキテクチャと複数のストレージエンジンを採用して、トランザクションとクエリの最適化をサポートします。 3.使いやすく、さまざまなオペレーティングシステムとプログラミング言語をサポートしています。 4.強力なコミュニティサポートを提供し、豊富なリソースとソリューションを提供します。

PHPが多くのWebサイトよりも優先テクノロジースタックである理由には、その使いやすさ、強力なコミュニティサポート、広範な使用が含まれます。 1)初心者に適した学習と使用が簡単です。 2)巨大な開発者コミュニティと豊富なリソースを持っています。 3)WordPress、Drupal、その他のプラットフォームで広く使用されています。 4)Webサーバーとしっかりと統合して、開発の展開を簡素化します。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

データベースとプログラミングにおけるMySQLの位置は非常に重要です。これは、さまざまなアプリケーションシナリオで広く使用されているオープンソースのリレーショナルデータベース管理システムです。 1)MySQLは、効率的なデータストレージ、組織、および検索機能を提供し、Web、モバイル、およびエンタープライズレベルのシステムをサポートします。 2)クライアントサーバーアーキテクチャを使用し、複数のストレージエンジンとインデックスの最適化をサポートします。 3)基本的な使用には、テーブルの作成とデータの挿入が含まれ、高度な使用法にはマルチテーブル結合と複雑なクエリが含まれます。 4)SQL構文エラーやパフォーマンスの問題などのよくある質問は、説明コマンドとスロークエリログを介してデバッグできます。 5)パフォーマンス最適化方法には、インデックスの合理的な使用、最適化されたクエリ、およびキャッシュの使用が含まれます。ベストプラクティスには、トランザクションと準備された星の使用が含まれます

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。
