問題タブ [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 投票する
2 に答える
14746 参照

php - iPhone 絵文字は MySQL に挿入されますが、空白の値になります

私たちは、絵文字を iPhone からサーバー側の PHP に送信し、MySQL テーブルに挿入する iPhone アプリを開発しています。サーバーサイドの仕事をしています。

しかし、挿入ステートメントが正常に実行された後、挿入された値は空白になります。
フィールド(varchar)に正しく挿入できるのはテキストですが、絵文字を含める
と、テキストだけが挿入され、絵文字が自動的に切り取られます。

画像データを保存できるように、フィールド タイプをブログに設定することについて誰かアドバイスをください。
ただし、挿入される値は必ずしも絵文字ケースを含むとは限らず、サイズも小さいです。

*値の挿入には mysql_real_escape_string を使用しています。

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

mysql - vb.net の文字列から mysql に入ることができないすべての奇妙な文字を取り除く方法

変な性格で悩んでいます。

mysqlでは、この文字はエラーを引き起こしますIncorrect string value: '\xF0\x9F\x92\x80'

これらの文字のサンプルはhttps://foursquare.com/v/shabushi-%E0%B8%8A%E0%B8%B2%E0%B8%9A%E0%B8%8A/4b72452cf964a5203c762de3からのものです

Web のデータを分析したいときに、奇妙な文字を見つけたとします。

この文字を削除するには??

発生はまれです。

実際、mysql で問題となる可能性のあるすべての文字を知り、それを削除するにはどうすればよいでしょうか? 私はエスケープ可能なキャラクターを言っているのではありません。私が言っているのは、数字でも、アルファベットでも、漢字でも、句読点でもない文字です。完全に奇妙なキャラクター。

文字列からそれを取り除くにはどうすればよいですか?

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

java - Java コード コードの実行中にエラーが発生しました (不明な文字セット: 'utf8mb4')?

私はJavaプログラミングを学び、それをデータベースMySQLとリンクする方法を学ぼうとしています...

コードは次のとおりです。

言います:

Google と YouTube で検索しましたが、このような問題に対する回答はありませんでした ... このチュートリアルに従って、プログラムを適切にインストールしました ... ( http://www.youtube.com/watch ?v=E30_-pQGQXs )

私は本当に助けが必要です....

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

php - MySQLとPHPの絵文字:なぜいくつかの記号が他の記号ではないのですか?

SOで絵文字に関するすべてのトピックを読んだ後、私はいくつかの助けを求めることになります。質問はほぼ同じようです。iPhoneアプリをPHP絵文字でMySQLDBに送信しました。レコードに「傘」や「雲」などの記号が表示されますが、その他は表示されません(怒った顔、笑顔など)。 )。

なぜある人とそうでない人がいるのですか?

  • MySQL照合:utf8mb_unicode_ci
  • テーブル照合:utf8mb_unicode_ci
  • フィールド、varchar、照合:utf8mb_unicode_ci

PHPのセットアップ:

レコード内に表示されていない記号は、疑問符「?」として表示されます。

0 投票する
3 に答える
8638 参照

java - 指定されたキーが長すぎます - キーの最大長は 767 バイトです

次のコマンドを実行したとき:

次のエラー メッセージが表示されました。

utf8mb4 の文字セットを使用しています。では、なぜエラー メッセージが表示されたのでしょうか。

0 投票する
19 に答える
469247 参照

mysql - JDBCを介してUTF-8をMySQLに挿入しようとしたときに「文字列値が正しくありません」?

これが私の接続の設定方法です。
Connection conn = DriverManager.getConnection(url + dbName + "?useUnicode=true&characterEncoding=utf-8", userName, password);

また、テーブルに行を追加しようとすると、次のエラーが発生します。
Incorrect string value: '\xF0\x90\x8D\x83\xF0\x90...' for column 'content' at row 1

何千ものレコードを挿入していますが、テキストに\ xF0が含まれていると、常にこのエラーが発生します(つまり、誤った文字列値は常に\ xF0で始まります)。

列の照合はutf8_general_ciです。

何が問題なのですか?

0 投票する
3 に答える
796 参照

mysql - Wordpress サイト: ランダム文字コーディング エラー

次のようなエラーがランダムに表示されるWordpressサイトがあります。

これはプレースホルダー サイトです。データは、PhpMyAdmin を使用して既存のライブから .sql ファイルにエクスポートされました。ある種の文字エンコーディングの問題があると思われますか? 私は、「デフォルトがUTF8であった可能性があるもの」でエクスポートしました。インポートしたデータベースで、文字エンコーディングと照合の両方を UTF8 (現在はこれ) として試し、エンコーディングと照合としてそれぞれ「Latin1 ISO8899 Western Europe」と「utf_general_ci」を試しましたが、うまくいきませんでした。

しばらくしてサイトにアクセスすると、エラーが発生することに気付きました。

私に何ができる?ありがとう!

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

utf-8 - Utf8_general_ciまたはutf8mb4または...?

utf16またはutf32?多くの言語でコンテンツを保存しようとしています。一部の言語は倍幅フォントを使用します(たとえば、日本語フォントは英語フォントの2倍の幅であることがよくあります)。どの種類のデータベースを使用すべきかわかりません。これらの4つの文字セットの違いに関する情報...

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

php - PHP を使用して MySQL から utf8mb4 データを操作する

これはおそらく単純なことです。私は答えをオンラインで探していたことを誓いますが、見つかりませんでした。私の特定のケースは少し特殊なので、最終的にここで質問することにしました。

中国語のプログラムに使用している MySQL のテーブルがいくつかあります。フォントがあまりサポートされていないまれな漢字も含めて、考えられるすべての漢字をサポートできる必要があります。テーブル内のサンプル セルは次のようになります。

東菄鶇䍶倲涷蝀凍鯟崠埬䰤</p>

データベースで正しく機能させるために、エンコーディング/照合を utf8mb4 に設定する必要がありました。ここまでは順調ですね。残念ながら、同じ文字列を PHP に取り込むと、次のように出力されます。

東菄鶇䍶?倲??涷蝀凍鯟?崠埬?䰤</p>

どうすれば残りの疑問符を最終的に消し去り、本来あるべき Unicode グリフとして表示させることができますか? タグ内およびメタタグとしてUTF8エンコーディングを使用して、phpページ自体を取得しました。

なぜ彼らはお互いに通信できないのですか?私は何を間違っていますか?

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

mysql - MySQL と UTF-8 を使用する Django

重複の可能性:
UTF-8 で 3 バイト以上かかる Unicode 文字をフィルター処理 (または置換) する方法は?

バックグラウンド:

MySQL 5.1 で Django を使用していますが、Web アプリケーション全体で致命的なエラーを引き起こす 4 バイトの UTF-8 文字に問題があります。

スクリプトを使用して、データベース内のすべてのテーブルと列を UTF-8 に変換しました。これにより、ほとんどの Unicode の問題が修正されましたが、4 バイトの Unicode 文字にはまだ問題があります。他の場所で説明したように、MySQL 5.1 は長さが 3 バイトを超える UTF-8 文字をサポートしていません。

Django Web サイトの ModelForm に 4 バイトの Unicode 文字 (例: ) を入力すると、フォームが検証され、次のような例外が発生します。

私の質問:

MySQL 5.1 データベースを使用する Django Web アプリケーションで 4 バイトの UTF-8 文字が原因で発生する致命的なエラーを回避する合理的な方法は何ですか?

私は考えました:

  1. 特定のエラー メッセージを回避するために、MySQL の警告を選択的に無効にする (まだ可能かどうかは不明)
  2. request.POST QueryDictを調べて無効な UTF8 文字をすべて置換/削除するミドルウェアを作成する
  3. DjangoまたはMySQLdbのSQLクエリを出力するメカニズムにフック/変更/モンキーパッチを適用して、クエリが実行される前にすべての無効なUTF-8文字を置換/削除します

無効な文字を置き換えるミドルウェアの例 (この SO questionに触発された):