問題タブ [utf8mb4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
632 参照

mysql - 特定のテーブルの特定の列で絵文字を有効にすることはできますか?

最初に、私は「宿題」を終え、これこれこれ、およびこれを読んだことを保証したいと思います。また、私の以前の質問の1 つは、これと密接に関連していますが、その質問では、fluishlib と utf8mb4 との互換性の問題について扱っています。この質問は、より深いレベルを扱います。いくつかのテーブルがあり、いくつかの列だけを utf8mb4 エンコーディングに変更して、変更後のストレージ容量とパフォーマンスを維持したいとします。データベース全体のエンコーディングを utf8mb4 に変更すると、サイズが 33% 増加し、パフォーマンスにも悪影響を及ぼします。そのため、絵文字をサポートするために、3 つの異なるテーブルから 4 つの列を選択しました。これらは:

  • users.bio(tinytext, utf8_general_ci)
  • questions.question(ロングテキスト、utf8_general_ci)
  • questions.answer(ロングテキスト、ut8_general_ci)
  • comments.comment(tinytext, utf8_general_ci)

その結果、私の行動計画は次のようになります。

  1. データベースのバックアップを作成する

  2. 次のコマンドを実行します。

期待:

  • これにより、指定された列がutf8の代わりにutf8mb4を使用するようになります
  • 既存のデータは utf8mb4 に正しく変換されます。つまり、以前のテキストは保持され、ユーザーはコンテンツを正しく読み取ることができます。
  • 他の列は変更されません
  • 影響を受けるテーブルを含むクエリは遅くなります

私の期待は正確ですか?接続を変更する必要がありますか? ありがとう

0 投票する
2 に答える
215 参照

mysql - utf8mb4 に切り替えた後、MySQL INSERT に情報がありません

これに対する答えをあちこち探していますが、まだ見つけられないようです

サーバー: localhost
MySQL バージョン: 5.6.17

より多くの文字の可能性に卒業するために、データベースのテーブルをutf8mb4に設定しました。特定のハッシュされた情報をテーブルに挿入すると、文字列内の文字のランダムなシーケンスに応じて、文字列のフラグメントのみが実際に挿入されます (完全に空白のままではない場合)。

私のpdoステートメントのハンドルでは、クエリを準備する前にcharset = utf8mb4を実行し、フェイルセーフとしてSET NAMES utf8mb4も前に実行しました。だから私はすべてがCHARSETとCOLLATEでコーシャであるべきだと思った.

私の質問は、文字列全体をフィールドに正常に配置するにはどうすればよいですか? 私が行方不明になっていることをしなければならない文字エスケープはありますか?

編集:文字列をコピーしてphpmyadminに貼り付けると、文字列全体がフィールドに正常に配置されます。

0 投票する
1 に答える
739 参照

php - PHP の utf8_encode() は絵文字を削除しますか?

Mathia のガイドを使用して、既に mysql データベース/テーブル/列を utf8mb4 に変換しています: https://mathiasbynens.be/notes/mysql-utf8mb4

特にinstagramの結果をスクレイピングしており、永続化する前に utf8_concode() を使用しています。

この PHP メソッドは 4 バイトの絵文字をサポートしていますか? 永続化した後も、絵文字のレンダリングにまだ問題があります。

0 投票する
1 に答える
672 参照

mysql - mysqlでTEXT列の文字セットをutf8からutf8mb4に変換しても安全ですか?

絵文字をサポートするために、巨大な本番データベースの TEXT 列の文字セットを utf8 から utf8mb4 に変換しようとしています。

varchar 列の場合、alter コマンドで異なるサイズを計算して提供する必要があることを読みました。しかし、TEXT 列については何も見つかりませんでした。

TEXT 列はテーブルから離れて保存されるので、alter コマンドを続行できますか、それとも考慮すべきことはありますか?

0 投票する
4 に答える
26115 参照

mysql - #1115 - 不明な文字セット: 'utf8mb4'

ローカル開発に使用する PC でローカル Web サーバーを実行しています。現在、データベースをエクスポートし、ホストされている VPS にインポートする段階です。

エクスポートしてからインポートすると、次のエラーが発生します。

1115 - 不明な文字セット: 'utf8mb4'

誰かが私を正しい方向に向けることができますか?

0 投票する
1 に答える
8685 参照

mysql - PHP PDOException: SQLSTATE[HY000] [2019] 文字セット utf8mb4 を初期化できません

Centos 6にdrupal 8がインストールされています。これが私のphpとmysql -versionの出力です

サーバーのバージョン: 5.7.9 MySQL Community Server (GPL) PHP 5.6.14 (cli) (ビルド: 2015 年 10 月 16 日 08:41:09)

しかし、まだ接続エラーが発生します

PDOException: SQLSTATE[HY000] [2019] /var/www/m2m/core/lib/Drupal/Component/DependencyInjection/PhpArrayContainer.php で文字セット utf8mb4 (パス: /usr/share/mysql/charsets/) を初期化できません83行目

OS X Mysql Server バージョンにもこの構成があります: 5.6.27 Homebrew および PHP 5.6.15 (cli) (ビルド: 2015 年 10 月 31 日 07:39:39)

そしてすべてが大丈夫です。

何か考えはありますか?どんな助けでも大歓迎です