MySQL は絵文字アイコンのストレージをサポートします
MySLQ で UPDATA および INSERT データを使用する場合、データに ?、?、? などの絵文字アイコンが含まれていると、更新または挿入が失敗し、エラーが発生しやすくなります。
Error: ER_TRUNCATED_WRONG_VALUE_FOR_FIELD: Incorrect string value: '\xF0\x9F\x91\xBD\xF0\x9F...' for column 'name' at row
ほぼ崩壊しましたが、幸いなことに、この幽霊の問題は最終的に解決されました。データに示されている理由は、MYSQL 5.5 より前では、UTF8 エンコードは 1 ~ 3 バイトしかサポートしておらず、BMP 部分の Unicode エンコード領域のみをサポートしており、絵文字アイコンはたまたま 4 バイトのエンコードで格納されていたためです。 MYSQL5.5 以降、4 バイトの UTF エンコーディング utf8mb4 がサポートされるようになり、1 文字は最大 4 バイトまで持つことができるため、より多くの文字セットをサポートできるようになります。したがって、この問題を解決するには、すべてのデータベース テーブルの文字エンコーディングを utf8mb4 に変更する必要があります。
一般的に使用される文字セット
ASCII: 情報交換のための米国標準エンコーディング、英語とその他の西ヨーロッパ言語、シングルバイトエンコーディング、1 文字を表す 7 ビット、合計 128 文字。
GBK: 2 バイト、中国語文字内部コード拡張仕様; 中国語、日本語、韓国語の中国語文字、英語、数字; 2 バイト エンコーディング; 合計 21,003 文字の中国語が含まれており、GB2312 の拡張です。
UTF-8: Unicode 標準の可変長文字エンコーディング。世界中の数十のテキスト システムを含む業界の統一標準である Unicode 標準 (Unicode)。
UTF-8:各文字をエンコードするには 1 ~ 3 バイトを使用します。
utf8mb4: 4 バイトを保存します。絵文字表現は 4 バイトになる可能性があるため、アプリケーション シナリオは絵文字表現を保存するために使用されます。
utf8mb4: MySQL バージョン > 5.5.3。
その他の一般的な文字セット: UTF-32、UTF-16、Big5、latin1
データベース内の文字セットには 2 つのレベルの意味が含まれています
さまざまなテキストのコレクション各国の文字、句読点、図記号、数字などの記号。
文字エンコード方式、つまりバイナリデータと文字の間のマッピング規則。
#システム環境
MySQL 5.7.14Mac OSX 10.11.6まずはバックアップ
データをアップグレードする前にサーバー上のすべてのデータをバックアップし、良い習慣を維持し、安全を第一に考えてください。MySQL のアップグレード
新しいデータベースはここからダウンロードできますMySQL サーバーを v5.5.3 にアップグレードします。 データベース、テーブル、フィールドを変更する
# 对每一个数据库: ALTER DATABASE 这里数据库名字 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci; # 对每一个表: ALTER TABLE 这里是表名字 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; # 对每一个字段: ALTER TABLE 这里是表名字 CHANGE 字段名字 重复字段名字 VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; # 上面一句或者使用modify来更改 ALTER TABLE 这里是表名字 modify 字段名字 VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '';
utf8mb4 は utf8 と完全に下位互換性があり、文字化けやその他の形式のデータ損失はありません。理論的には、心配することなく変更できます。変更が心配な場合は、バックアップからデータを復元し、絵文字互換のストレージの問題はプログラマに任せることができます。保存するときにフィルタリングして、base64 に変換します。それを取得するときに変換して戻しますか? ...データベースを変更する方が便利です。
フィールドとインデックスを確認してくださいすべてを utf8mb4 に設定しないでください。これは必要です。フィールドタイプの一部が VARCHAR である場合にのみ、utf8mb4 に設定します。
MySQL 設定ファイルを変更するここが最もわかりにくい場所です。Mac osx システムでは /etc/my.cnf が見つかりません。はまったく存在しないため、そのようなファイルを作成して変更する必要があります。
# 进入这个目录, # 在这个目录下面有个后缀为`.cnf`的文件 cd /usr/local/mysql/support-files/ # 将这个文件复制到`etc`目录中并将名字命名为`my.cnf` sudo cp my-default.cnf /etc/my.cnf # 然后编辑`my.cnf`文件,将下面内容复制到里面。 sudo vim /etc/my.cnf
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
再起動の手順は非常に重要です。そうでないと効果がありません。
開始:/usr/local/mysql/support-files/mysql.server start
停止:/usr/local/mysql/support-files/mysql.server stop
Restart:/usr/local/mysql/support-files/mysql.server restart
システムはこの形式で再起動、停止、または開始できます
service mysqld stop service mysqld start service mysqld restart
次のコマンドを使用して、設定が成功したかどうかを確認します。
# 登陆MySQL进行查询 mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%'; # 运行上面代码显示下面结果 # +--------------------------+--------------------+ # | Variable_name | Value | # +--------------------------+--------------------+ # | character_set_client | utf8mb4 | # | character_set_connection | utf8mb4 | # | character_set_database | utf8mb4 | # | character_set_filesystem | binary | # | character_set_results | utf8mb4 | # | character_set_server | utf8mb4 | # | character_set_system | utf8 | # | collation_connection | utf8mb4_unicode_ci | # | collation_database | utf8mb4_unicode_ci | # | collation_server | utf8mb4_unicode_ci | # +--------------------------+--------------------+ # 查看表的情况 mysql> SHOW FULL COLUMNS FROM users_profile;
ここまで到達したということは、成功したことを意味します。おめでとう! ~
テーブルを修復して最適化するこのステップに到達したので、テーブルを修復して最適化する必要はありません。安全のため、まだこの2つのコマンドを実行したので、目的は分かりませんが、メモを兼ねてここに載せておきます。
rree以上がMySQL は絵文字アイコンのストレージをサポートしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホット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データベースでは、ユーザーとデータベースの関係は、アクセス許可と表によって定義されます。ユーザーには、データベースにアクセスするためのユーザー名とパスワードがあります。許可は助成金コマンドを通じて付与され、テーブルはCreate Tableコマンドによって作成されます。ユーザーとデータベースの関係を確立するには、データベースを作成し、ユーザーを作成してから許可を付与する必要があります。

MySQLには、無料のコミュニティバージョンと有料エンタープライズバージョンがあります。コミュニティバージョンは無料で使用および変更できますが、サポートは制限されており、安定性要件が低く、技術的な能力が強いアプリケーションに適しています。 Enterprise Editionは、安定した信頼性の高い高性能データベースを必要とするアプリケーションに対する包括的な商業サポートを提供し、サポートの支払いを喜んでいます。バージョンを選択する際に考慮される要因には、アプリケーションの重要性、予算編成、技術スキルが含まれます。完璧なオプションはなく、最も適切なオプションのみであり、特定の状況に応じて慎重に選択する必要があります。

データ統合の簡素化:AmazonrdsmysqlとRedshiftのゼロETL統合効率的なデータ統合は、データ駆動型組織の中心にあります。従来のETL(抽出、変換、負荷)プロセスは、特にデータベース(AmazonrdsmysQlなど)をデータウェアハウス(Redshiftなど)と統合する場合、複雑で時間がかかります。ただし、AWSは、この状況を完全に変えたゼロETL統合ソリューションを提供し、RDSMYSQLからRedshiftへのデータ移行のための簡略化されたほぼリアルタイムソリューションを提供します。この記事では、RDSMysQl Zero ETLのRedshiftとの統合に飛び込み、それがどのように機能するか、それがデータエンジニアと開発者にもたらす利点を説明します。

1.正しいインデックスを使用して、データの量を削減してデータ検索をスピードアップしました。テーブルの列を複数回検索する場合は、その列のインデックスを作成します。あなたまたはあなたのアプリが基準に従って複数の列からのデータが必要な場合、複合インデックス2を作成します2。選択した列のみを避けます。必要な列のすべてを選択すると、より多くのサーバーメモリを使用する場合にのみサーバーが遅くなり、たとえばテーブルにはcreated_atやupdated_atやupdated_atなどの列が含まれます。

MySQLのユーザー名とパスワードを入力するには:1。ユーザー名とパスワードを決定します。 2。データベースに接続します。 3.ユーザー名とパスワードを使用して、クエリとコマンドを実行します。

MySQLデータベースパフォーマンス最適化ガイドリソース集約型アプリケーションでは、MySQLデータベースが重要な役割を果たし、大規模なトランザクションの管理を担当しています。ただし、アプリケーションのスケールが拡大すると、データベースパフォーマンスのボトルネックが制約になることがよくあります。この記事では、一連の効果的なMySQLパフォーマンス最適化戦略を検討して、アプリケーションが高負荷の下で効率的で応答性の高いままであることを保証します。実際のケースを組み合わせて、インデックス作成、クエリ最適化、データベース設計、キャッシュなどの詳細な主要なテクノロジーを説明します。 1.データベースアーキテクチャの設計と最適化されたデータベースアーキテクチャは、MySQLパフォーマンスの最適化の基礎です。いくつかのコア原則は次のとおりです。適切なデータ型を選択し、ニーズを満たす最小のデータ型を選択すると、ストレージスペースを節約するだけでなく、データ処理速度を向上させることもできます。

MySQLのコピーと貼り付けには、次の手順が含まれています。データを選択し、Ctrl C(Windows)またはCMD C(MAC)でコピーします。ターゲットの場所を右クリックして、貼り付けまたはCTRL V(Windows)またはCMD V(MAC)を使用します。コピーされたデータは、ターゲットの場所に挿入されるか、既存のデータを置き換えます(データが既にターゲットの場所に存在するかどうかに応じて)。

データベース酸属性の詳細な説明酸属性は、データベーストランザクションの信頼性と一貫性を確保するための一連のルールです。データベースシステムがトランザクションを処理する方法を定義し、システムのクラッシュ、停電、または複数のユーザーの同時アクセスの場合でも、データの整合性と精度を確保します。酸属性の概要原子性:トランザクションは不可分な単位と見なされます。どの部分も失敗し、トランザクション全体がロールバックされ、データベースは変更を保持しません。たとえば、銀行の譲渡が1つのアカウントから控除されているが別のアカウントに増加しない場合、操作全体が取り消されます。 TRANSACTION; updateaccountssetbalance = balance-100wh
