問題タブ [collation]
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.
sql-server - ライブ展開時の SQL 照合の問題
履歴: 先日、ストアド プロシージャを作成するスクリプトを実行するデプロイがありました。ただし、スクリプトを実行すると、DB の照合に関してエラーが発生しました。
問題: 私たちの友人である Google の助けを借りて、私が抱えていた問題は、私たちのライブ環境のデータベースには 1 つの照合があり、一時 DB の照合が異なり、挿入しようとしたときにエラーが発生したためであることがわかりました。変数テーブルに。
質問: 最善の方法、または選択肢は何ですか?
環境: SQL 2000
前もって感謝します。
c# - SQL Server 2000 での VARCHAR 照合と VARBINARY 順序付け
1 つまたは複数の SQL Server 2000 データベースからの 2 つの並べ替えられた文字列ストリームを C# でインメモリ マージして、1 つの並べ替えられたストリームにする必要があります。これらのデータ ストリームは巨大になる可能性があるため、両方のストリームをメモリに取り込みたくありません。代わりに、メモリ内の各ストリームから一度に 1 つのアイテムを保持し、各ステップで各ストリームの現在のアイテムを比較し、最小値を最終ストリームにプッシュし、適切なソース ストリームから次のアイテムをプルする必要があります。ただし、これを正しく行うには、メモリ内比較がデータベースの照合と一致する必要があります (ストリーム[A,B,C]
と を考慮して[A,B,C]
ください: 正しいマージされたシーケンスは ですが[A,A,B,B,C,C]
、メモリ内比較が と考えるC < B
場合、メモリ内マージは を生成A,A,B
しますaB
と aを見ているポイントC
となり、 が生成C
され、正しくソートされていないストリームが生成されます。)
私の質問は、SQL Server 2000 の照合順序をSystem.StringComparison
C# の列挙型で模倣する方法、またはその逆の方法はありますか? 最も近いSystem.StringCompaison.Ordinal
のは、データベース文字列をVARBINARY
標準の順序に変換した結果を使用することですが、これは機能しますが、SQL クエリに句をVARBINARY
追加するだけで済みます。ここで、X は、データベースを離れるときにすべての文字列を に変換し、メモリに入るときに文字列に戻すのではなく、順序付けします。"order by name collate X"
VARBINARY
VARBINARY
sql - SQLServer2005の照合の問題
2つのテーブルがあり、それらは異なる照合を使用しています。照合が異なるテーブルの列を連結することは許可されていません。たとえば、次のSQLは許可されていません。
私の質問は、テーブルのデータを破壊せずにテーブルの照合を変更するにはどうすればよいですか?
よろしくお願いします、ジョージ
sql-server - 照合の問題が異なる列を結合する
SQL Server 2005 を使用しています。2 つのテーブルがあり、異なる照合順序を使用しています。照合順序が異なるテーブルの列を連結することは許可されていません。たとえば、次の SQL は許可されていません。
私の質問は、データベース エンジンの設計の観点から、異なる照合順序からの 2 つの列の連結が許可されないのはなぜですか? 照合が結果に影響を与える理由がわかりません。結果は文字列を連結するだけです-十分に単純で、照合に依存しない必要があります...
前もって感謝します、ジョージ
sql - 照合の競合をより適切に解決するにはどうすればよいですか?
データベースに照合の問題があり、独自のソリューションを開発しました。
解決:
誰にも別の解決策がありますか?
私のコードを最適化するためのアドバイスをくれる人はいますか?
php - MySQL照合タイプはPHPページの文字セットタイプと一致する必要がありますか?
RSS フィードに奇妙な文字が含まれているため、RSS フィードのデバッグを開始しました (文字の欠落グリフなど)。私は 2 つの優れた初心者用リソースから始めました。
- すべてのソフトウェア開発者が絶対に、積極的に Unicode と文字セットについて知っておく必要がある絶対最小値: http://www.joelonsoftware.com/articles/Unicode.html
- 文字セット/文字エンコードの問題: http://www.phpwact.org/php/i18n/charsets
RSS フィードに問題があると思われる理由は、ユーザーが MS Word ドキュメントをコピーしてサイトのテキストエリアに貼り付けており、PHP ページが特別な「Windows-1252」と互換性のない「iso-8859-1」文字セットを使用しているためです。 MS Word で使用される箇条書きやスマート クォートなどのエンコーディング。
だから私は問題を解決したいと思っています。私がする必要があるのは、ユーザー入力を受け取る/与えるページで「utf-8」の使用を開始することだけですか??. つまり、HEAD セクションで次のように設定します。
しかし、私がこの質問を提起している本当の理由は、ユーザー入力を格納する DB フィールドが " " にあり、それらを " "latin1_swedish_ci
に変換する必要があるかどうかを知りたいからです。utf8_general_ci
MySQL は実際には文字セットを気にしませんか? 大量のバイトが表示されるだけで、Latin として照合されたフィールドに Unicode を入力しても、Unicode として返されますよね? フィールドは FULLTEXT インデックスの一部であり、他のフィールドも照合を変更する必要があるため、フィールドを変更するのは面倒です。つまり、インデックスを削除して再構築する必要があります (大量の TEXT が含まれる場合、これは簡単な作業ではありません)。
php - " および ' に関する MySQL / PHP の問題
PHP と MySQL を使用して、コメント付きのシンプルなニュース システムを作成しました。これは、Fedora 10 マシンと Windows 7 マシンの両方で、ローカルの Apache サーバーでうまく機能しました。問題が発生しましたが、Web ホストにアップロードしましたが、すべての ' と " を \' と \" として返し続けます。
これは、セキュリティ上の理由でそれらを自動的に追加する Web ホストであるか、MySQL が間違った照合であると考えていますが、まだ解決できておらず、複数の MySQL 照合をテストしています。
クエリの例を次に示します。
$time
istime();
$newstitle
と$newstext
are parsed fromであり、クエリを実行$_POST
する前に両方が実行さmysql_real_escape_string()
れます (これが問題である可能性がありますが、セキュリティの一部であるため、削除したくありません。また、問題が発生しなかったためです)私のローカルサーバー上)
最後のメモとして: 私のローカル Apache サーバーlatin1_swedish_ci
では、Web ホスト サーバーでは機能しませんでした。
編集:
データベースでは次のようになります。
私のローカルのものには余分なバックスラッシュがありませんでしたので、それを追加するのはPHPである必要があります。余分なバックスラッシュを削除する関数を追加する以外に、これを解決する方法はありますか?
mysql - 操作'find_in_set'の照合(latin1_swedish_ci、COERCIBLE)と(utf8_general_ci、IMPLICIT)の不正な組み合わせ
次のエラーが発生します。
操作'find_in_set'の照合(latin1_swedish_ci、COERCIBLE)と(utf8_general_ci、IMPLICIT)の不正な組み合わせ
これは私が実行しようとしていたクエリです:
このテーブルのプロパティを調べたところ、文字セットutf8と照合utf8_general_ciがあります。
これは私のすべてのサイトでうまく機能するので、何が問題になっているのかわかりません。
mysql - mysql varbinary と varchar
mysql に「キーワード」を格納するために varchar(255) を使用します。mysql が "=". 「like」比較では末尾のスペースを尊重しますが、「UNIQUE」インデックスがある場合、varchar 列に末尾のスペースがある場合とない場合で同じ単語を格納することはできません。
そのため、varbinary への切り替えを検討しています。列の値にマルチバイト文字が含まれている場合の影響を示唆できる人はいますか?
mysql - Mysql 変更列照合と情報スキーマの文字セット
システムデータベース information_schema のカラム照合と文字セットを変更したい...
誰でもこれを行う方法について何か意見をいただけますか? これに必要な特別な権限はありますか