web-dev-qa-db-ja.com

mysqlデータベースに数学、物理方程式を保存する

さまざまなUnicode文字をテーブルに格納する必要があるプロジェクトに取り組んでいます。数学方程式、物理式、下付き文字X2 、上付きX2

リンク のようなギリシャ文字

すべてのテーブルの照合と文字セットをutf16として作成しましたが、私が直面している問題はデータ入力にあります。

いくつかの理由により、手動でデータをテーブルに入力する必要があります。データ入力にsequel proツールを使用しています。多くの文字が正常に表示されますが、下付き文字と上付き文字が正しく表示されず、通常の文字として扱われます。また、sequel proがあらゆる種類のデータをサポートしているかどうかはわかりませんが、後で他の一部のキャラクターに問題が発生する可能性があります。これに対処する適切な方法はありますか?

また、utf16が照合と文字セットで問題ないかどうかも教えてください。

あらゆる種類のデータをサポートするツールがあるかどうか教えてください。

2
Sadanand

Utf16に入る方法はありますか? Javaの内部を除いて、私はそのことを知りません。世界はutf16ではなくutf8に向かって動いています。

全体を通してutf8mb4を使用することをお勧めします。照合順序は重要ではありません。デフォルトはutf8mb4_general_ciですが、_binまたは_unicode_ciも可能です。

なぜutf8の代わりにutf8mb4を推奨するかについての歴史のレッスン10年以上前、MySQLはutf8を追加しましたが、3バイトエンコーディングの範囲でのみコーディングしました。最近、4バイトのエンコーディングを必要とする「新しい」漢字がいくつか出てきました。そして、4バイトを必要とする他のセットがあります。 MySQLは、utf8を4バイトに拡張すると互換性が高すぎることに気づき、utf8mb4を追加しました(「MultiByte4」と考えてください)。 utf8などの詳細: http://mysql.rjweb.org/doc.php/charcoll

3
Rick James

数式をデータベースに保存するには、テキスト形式の方が適しています。任意の形式に変換できます。

この質問を参照してください mathematica方程式を理解するmathematica.stackexchange.com については、多くの指定された文字とテキスト形式の数式がたくさんあります。

テキスト式をレンダリングするには多くの方法があります。

  1. <script type="math/tex" id="MathJax-Element-19">n(r) = \frac{2\pi r^2}{\sqrt{3}}</script>、数式はテキスト形式n(r) = \frac{2\pi r^2}{\sqrt{3}}、latex形式です。

  2. <math xmlns="http://www.w3.org/1998/Math/MathML"><mi>n</mi><mo stretchy="false">(</mo><mi>r</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mrow><mn>2</mn><mi>&#x03C0;</mi><msup><mi>r</mi><mn>2</mn></msup></mrow><msqrt><mn>3</mn></msqrt></mfrac></math>はmathml形式です。

  3. サーバーのレンダーまたはクライアントレンダーを使用して、<img src="https://example.com/?e=n(r) = \frac{2\pi r^2}{\sqrt{3}}">のように、テキストを画像に形式的にレンダリングすることもできます。

したがって、一般的な数式形式を選択できます。使用する場合は、直接レンダリングするか、他の形式や画像に変換できます。

0
Kris Roofe