ホームページ php教程 php手册 PHP-MYSQLの中国語文字化け問題。

PHP-MYSQLの中国語文字化け問題。

Jul 09, 2016 am 09:09 AM
mysql php 中国語文字化け コード オープンソース プログラミング プログラミング言語 ソフトウェア開発

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);

$db=mysql_select_db($db_name,$link); query="ユーザーから * を選択"

$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> 'collat​​ion_%' のような変数を表示します;+---------------- --- ---+-------------------+
| 値 |
+-------------- --- ----+-------------------+
| 照合_データベース | latin1_swedish_ci |
+-- ----+-------------------+
セット内の 3 行 (0.00 秒)
値上記はシステムのデフォルト値です。 (システムがデフォルトでスウェーデン語のソート方法 latin1 に設定されているのは不思議です)...
本来の方法で PHP 経由で MySQL データベースにアクセスすると、テーブルのデフォルトの文字セットが utf8 に設定されていてクエリが送信されても​​、 UTF-8 エンコードを使用しても、データベースに保存されているデータが依然として文字化けしていることがわかります。問題はこの接続層にあります。解決策は、クエリを送信する前に次の文を実行することです:
set names 'utf8';
setcharacter_set_client = utf8;
setcharacter_set_connection =
set; Collat​​ion_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 のサブセットになります。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

MySQL:世界で最も人気のあるデータベースの紹介 MySQL:世界で最も人気のあるデータベースの紹介 Apr 12, 2025 am 12:18 AM

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

PHPとPython:2つの一般的なプログラミング言語を比較します PHPとPython:2つの一般的なプログラミング言語を比較します Apr 14, 2025 am 12:13 AM

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

PHPの現在のステータス:Web開発動向を見てください PHPの現在のステータス:Web開発動向を見てください Apr 13, 2025 am 12:20 AM

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

なぜMySQLを使用するのですか?利点と利点 なぜMySQLを使用するのですか?利点と利点 Apr 12, 2025 am 12:17 AM

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

PHP:多くのウェブサイトの基礎 PHP:多くのウェブサイトの基礎 Apr 13, 2025 am 12:07 AM

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

PHP:Web開発の重要な言語 PHP:Web開発の重要な言語 Apr 13, 2025 am 12:08 AM

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

MySQLの場所:データベースとプログラミング MySQLの場所:データベースとプログラミング Apr 13, 2025 am 12:18 AM

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

Python:ゲーム、GUIなど Python:ゲーム、GUIなど Apr 13, 2025 am 12:14 AM

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

See all articles