問題タブ [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.
mysql - Mysql サーバーは、4 バイトでエンコードされた utf8 文字をサポートしていません
Sql Server から MySql db へのデータ転送コンポーネントを実行中にサーバー エラーが発生しました。エラーメッセージは次のとおりです。
[MySql][ODBC 5.1 Driver][mysqld-5.0.67-community-nt-log]Server does not support 4-byte encoded UTF8 characters.
ソース Sql Server テーブルには nvarchar 列が含まれ、ターゲット MySql テーブルには varchar 列が含まれます。
誰でもこの問題に光を当てることができますか?
mysql - MySQLはUnicode文字を保存したくない
MySQLがUnicode文字を保存しないのはなぜですか?はい、それはまれな象形文字であり、ブラウザには表示されません。
UTF16はU+2B5EE
この文字をMySQLに保存することは可能ですか?
mysql - ''有効なUnicode文字ではありませんが、Unicode文字セットに含まれていますか?
短編小説:Ruby on Railsアプリ(デフォルトのUTF-8エンコーディング)でテキストフィールドを使用するか、MySQL GUIを使用して直接入力することにより、「
mysql - mysql が無効なエンコーディングを検出するのに、なぜ ruby は無効なエンコーディングを検出しないのですか?
UTF8 が無効な RSS フィードを YouTube から取得しています。を使用して同様のルビ文字列を作成できます
Ruby はこれが有効な UTF-8 エンコーディングであると考えていますが、そうではないことは確かです。
Mysqlと話すと、次のようなエラーが発生します
MySQL に送信する前に、これらの無効なタイプのエンコーディングを検出または修正するにはどうすればよいですか?
mysql - MySQL VARCHAR(255) UTF8 はキーには長すぎますが、最大長は 1000 バイトです
これについて多くの質問があったことは承知していますが、私の計算は正しいと思います。
- MySQL は、UTF8 文字ごとに 3 バイトを予約します。
- MyISAM では、長さ 1000 バイトのキーを使用できます。
- 私の UTF8 VARCHAR(255)はバイトでなければなりません
255 * 3 = 765
UNQUE がエントリごとに余分な 200+ バイトを必要としない限り、なぜこれが機能しないのですか?
これについて私にできることはありますか?
編集:
制限は 250 であることが判明しました。文字は一意のインデックスに対して 4 バイトとしてカウントされるようですが、その理由はわかりません。
編集2:
Vladislav Vaintroub に感謝します。文字セットは確かに utf8mb4 です。それで謎が解けます。この変更に関するドキュメントは見たことがありません。
フィールドを暗黙的に切り捨てることによって非一意のインデックスを構築すると推測していますが、これは一意のインデックスには受け入れられないため、拒否されます。
回答としてコメントを再入力していただければ、喜んで受け入れます。
解決策: utf8mb4 ではなく utf8 を指定します (MySQL 管理者はこれを許可していないため、テーブルを手動で作成します)。
java - XML から解析し、mysql に挿入します。文字列が java.sql.SQLException: Incorrect string value を返す
一連の XML ファイルを解析し、それらから取得した値を MySQL データベースに挿入しています。mysql テーブルの文字セットは utf8 に設定されています。次の接続 URL を使用してデータベースに接続しています -jdbc:mysql://localhost:3306/articles_data?useUnicode=false&characterEncoding=utf8
ユニコード文字を含む文字列値のほとんどは、数学記号を含むものを除いて、問題なく入力できます (ギリシャ文字など)。特に例 - 数学スクリプトの大文字 g (www.ncbi.nlm.nih.gov/corehtml/pmc/pmcents/1D4A2.gif の画像) ( http://graphemica.com/ ) を使用して文字列を挿入しようとした場合(この記事を解析して挿入しようとしています)、次の例外が発生します-
接続 URL を jdbc:mysql://localhost:3306/articles_data に変更すると、挿入は機能しますが、通常の UTF8 文字はすべて疑問符に置き換えられます。
私がそれを修正しようとしている2つの可能な方法があり、どちらもまだ成功していません-
記事を解析するときは、エンコーディングを維持します。xml ファイルを解析するために使用
org.apache.xerces.parsers.DOMParser
していますが、デコードを防ぐ方法がわかりません (関連する XML -<p>𝒢 is a set containing...</p>
)。再エンコードすることはできますが、それは効率が悪いようです。数学記号をデータベースに挿入します。
iphone - mysqlにutf-8 mb4文字(ios5の絵文字)を挿入するには?
私は mysql 5.5.10 を使用しており、その character_sets は
iOS5の絵文字のutf8からutf8mb4を変更しました。それらは 4byte コードで表されます。
しかし、スマイリー絵文字を 3 つ挿入すると、「???」mysqlにあります。
それらは 3F 3F 3F (Hex) です。
iOS4 の絵文字はうまく保存できますが、iOS5 の絵文字は保存できません。
iOS5 の絵文字を保存するにはどうすればよいですか?
私を助けてください。
mysql - MySQLで漢字を保存する方法
mySQL5.5に文字を保存できません。照合utf8mb4とutf32を試しました。中国語と英語の両方の文字を同じテーブルに格納する必要があります。
mysql - 新しい RDS MySQL インスタンスの文字セット設定を初期化する方法
Amazon RDS サーバーに次の変数を設定したいのですが、新しい RDS インスタンスを作成するときに、この設定をどこで提供すればよいですか?
character_set_server=utf8mb4
注: これらの設定を永続的なものにしたいので、サーバーを再起動するたびに設定を変更したくありません。
mysql - MySQL が不正な文字列値エラーをスローする
次のツイートを longtext カラム / utf8 charset / MySQL 5.5 に保存しようとしています。MyISAM ストレージがオンになっているデータベース。
utf8mb4、utf16、utf32 文字セットも試しましたが、この問題を解決できません。