問題タブ [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.
mysql - "a" != "ä" である大文字と小文字を区別しない MySQL 照合を探しています
大文字と小文字を区別せず、「a」と「ä」を区別する (または、より一般的には、ウムラウト/アクセント付き文字とその「純粋な」形式を区別する) UTF8 の MySQL 照合を探しています。utf8_general_ci
前者を行いutf8_bin
、後者を行い、bot none は両方を行います。WHERE
そのような照合がない場合、句にできるだけ近づけるために何ができますか?
sql-server - equal to 操作で "SQL_Latin1_General_Pref_CP1_CI_AS" と "Latin1_General_CI_AS" の間の照合の競合を解決できません
次のクエリがあります。
実行すると、次のエラーが表示されます。
equal to 操作で、"SQL_Latin1_General_Pref_CP1_CI_AS" と "Latin1_General_CI_AS" の間の照合の競合を解決できません。
NavisionMeta データベースの照合順序は SQL_Latin1_General_Pref_CP1_CI_AS です。
これを修正するにはどうすればよいですか??
mysql - データベース接続文字列と照合
新しい接続に使用されるサーバーにはデフォルト設定があるため、MySql接続文字列内で接続照合を設定することは可能ですか?
私ができない2つのこと:
編集でわかるように、SET COLLATION_CONNECTION
すべての呼び出しを完全に真ではないEntity Frameworkを使用しているため、接続を開いた後に呼び出すことができません- 他のデータベースとそれらを使用するそれらの尊敬されるアプリケーションのために、サーバーのデフォルトの接続照合を変更することはできません。
指定したいのは、次のようなweb.configファイルの特定の接続文字列パラメーターだけです。
しかし、Collation
設定/変数は認識されません。
使用したテクノロジー
- Asp.net MVC 2
- IIS 7
- Entity Framework 1
- DevArtdotConnectMySqlコネクタ
- MySql 5.1
編集1
@Devartが提案したようにこのコードを試しましたが、役に立ちませんでした:
database - アラビア語データでの LOAD DATA INFILE の使用
.csv ファイルをテーブルにインポートしようとしています。次のクエリを使用して挿入されたデータを取得する方法を理解しました。
ただし、いくつかのフィールドでは、一連の ? として入力されるアラビア語のコンテンツがあります。これは、データベースを正しく照合していないか、LOAD DATA INFILE クエリを完全に理解していないためだと思います。アドバイスをいただければ幸いです。
SHOW CREATE TABLE コイン。出力は次のとおりです。
mysql - データベース内のすべてのテーブルを UTF8 文字セットに変更するにはどうすればよいですか?
私のデータベースは UTF8 ではありません。すべてのテーブルを UTF8 に変換したいのですが、どうすればよいですか?
mysql - 重複不可能な「照合の不正な組み合わせ」エラー
Rails アプリケーションのエラー ログを調べていたところ、誰かが次のエラーに遭遇したことがわかりました。
このエラーの理由は理解していますが、複製できないため、修正しようとすると問題が発生します。私のデータベース接続は utf8 接続を使用しており、tags
テーブルの照合順序は ですがlatin1_swedish_ci
、何をしようとしてもエラーを再現できません。
tags
照合を使用するように変更してutf8_general_ci
、これで問題が解決することを願っていますか? または、他のアイデアを持っている人はいますか?
linq - 照合の競合
select linqクエリで照合の問題を解決する方法を知っている人はいますか?linqでデータを選択したいときに、このエラーが発生します。
等しい操作で「SQL_Latin1_General_CP1_CI_AS」と「Latin1_General_CI_AS」間の照合の競合を解決できません
sql-server - SQL Serverに表示されるUnicodeデータを復元するにはどうすればよいですか?
SQL Serverに、Unicodeデータを含める必要のある列を含むデータベースがあります(これには、世界中のユーザーのアドレスが含まれています。たとえば、カイロの場合はالقاهرة)。
この列は、データベースのデフォルト(Latin1_General_CI_AS)を照合したnvarchar列ですが、英語以外の文字を含むSQLステートメントを介してデータが挿入され、?????として表示されることに気付きました。
解決策は、nプレフィックスを使用していなかったということのようです。
それ以外の:
Unicodeはnvarchar列に自動的に変換され、このプレフィックスは必要ないという印象を受けましたが、これは正しくないようです。
問題は、この列に?????と表示されるデータがまだあることです。SQL Server Management Studioで、それが何であるかわかりません。
データはまだそこにありますが、正しくない文字エンコードで表示されないのに回収可能です(もしそうなら、どうすればデータを回復できますか?)、またはそれは永久に失われていますか?
ありがとう、
トム
sql-server - SQL Server 2005 の文字列比較で問題を引き起こす Unicode 文字
このクエリ:
タグ列の値が「fußball」である結果を返します。列 "tag" は nvarchar(150) として定義されます。
文法的に似た言葉であることは理解していますが、この動作を説明して擁護できる人はいますか? 列/テーブルの大文字と小文字の区別を変更できる同じ照合設定に関連していると思いますが、誰がこの動作を望むでしょうか? 列の一意の制約も、制約違反のために一方の値が存在する場合に、一方の値の挿入に失敗します。これをオフにするにはどうすればよいですか?
フォローアップボーナスポイントの質問. このクエリが行を返さない理由を説明してください。
おまけの質問 (回答?): @ScottCher は、これは文字列リテラルの「fussball」が varchar として扱われていることが原因であると私に個人的に指摘しました。このクエリは結果を返します:
しかし、繰り返しますが、これはそうではありません:
よくわかりません。
sql-server - SQL Serverで異なる照合を使用して2つのデータベース間で結合を実行し、エラーが発生する
私は知っています、私は私が質問に書いたことで私が驚かないはずです。しかし、私の状況は継承されたPOSシステムでゆっくりと機能しており、前任者は明らかにJOINを認識していなかったため、60秒間読み込まれる内部ページのいずれかを調べたところ、かなり速いことがわかりました。これらの8つのクエリを1つに書き直してください。 JOINの状況でクエリを実行します。問題は、JOINについて知らないことに加えて、彼は複数のデータベースに対するフェチを持っていたようであり、驚いたことに、それらが異なる照合を使用していることです。問題の事実は、英語を話す人々がアルファベット全体と見なすすべての「通常の」ラテン文字を使用することです。このすべてが数か月で使用されなくなるため、必要なのはバンデードだけです。
簡単に言うと、2つのデータベースの2つのフィールドを比較できるように、1つの照合にキャストするための何らかの方法が必要です。
正確なエラーは次のとおりです。
「SQL_Latin1_General_CP850_CI_AI」と「SQL_Latin1_General_CP1_CI_AS」の間の照合の競合をequal操作で解決できません。