最近WAMPServerをアップグレードしましたが、phpMyAdminに、照合順序utf8_unicode_ci
とutf8_unicode_520_ci
の両方が表示されます。トルコ語のアプリケーションに「utf8_unicode_ci」を使用していましたが、新しい*_520
照合順序の違いは何でしょうか。
照合名 に記載されているとおり:
Unicode照合名には、照合の基になるUnicode照合アルゴリズム(UCA)のバージョンを示すバージョン番号が含まれる場合があります。名前にバージョン番号が含まれていないUCAベースの照合では、version-4.0.0 UCAウェイトキーを使用します: http://www.unicode.org/Public/UCA/4.0.0/allkeys-4.0.0。 txt 。
utf8_unicode_520_ci
などの照合名は、UCA 5.2.0ウェイトキーに基づいています: http://www.unicode.org/Public/UCA/5.2.0/allkeys.txt 。
あなたが読むことができるように ここ (リンクのためにuser3399549に感謝します)ポーランド語の文字「Ł」(L)のソート/比較に問題がありますストローク付き)(小文字: "ł"; html esc:ł
and Ł
)herePeter Gulutzanは、コロケーション:
Łのこれらの照合とルールがあります:
utf8_polish_ci Ł greater than L and less than M
utf8_unicode_ci Ł greater than L and less than M
utf8_unicode_520_ci Ł equal to L
utf8_general_ci Ł greater than Z
ポーランド語では、文字Łは文字Lの後、Mの前にあります。これは次のように書くことができます(明確にするため)。
L < Ł < M
and
L != Ł
したがって、この種の問題(並べ替え/比較)を回避するには、utf8_unicode_ci
(またはそれ以上 utf8mb4_unicode_ci
)を使用します。
トルコ語のみが必要な場合は、utf8_turkish_ci
を検討してください。違いのほとんどは次のとおりです( http://mysql.rjweb.org/utf8_collations.html から取得):
utf8 : utf8_turkish_ci A=a=ª=À=Á=Á=Â=Ã=Ä=Å=à=á=á=â=ã=ä=å=Ā=ā=Ą=ą Aa ae az Æ=æ
utf8 : utf8_unicode_520_ci A=a=ª=À=Á=Á=Â=Ã=Ä=Å=à=á=á=â=ã=ä=å=Ā=ā=Ą=ą Aa ae=Æ=æ az
utf8 : utf8_unicode_ci A=a=ª=À=Á=Á=Â=Ã=Ä=Å=à=á=á=â=ã=ä=å=Ā=ā=Ą=ą Aa ae az Æ=æ
utf8 : utf8_turkish_ci B=b C=c=Č=č ch cz Ç=ç D=d=Ď=ď dz Ð=ð
utf8 : utf8_unicode_520_ci B=b C=c=Ç=ç=Č=č ch cz D=d=Ð=ð=Ď=ď dz
utf8 : utf8_unicode_ci B=b C=c=Ç=ç=Č=č ch cz D=d=Ď=ď dz Ð=ð
utf8 : utf8_turkish_ci F=f fz ƒ G=g=Ģ=ģ gz Ğ=ğ H=h hz
utf8 : utf8_unicode_520_ci F=f fz ƒ G=g=Ğ=ğ=Ģ=ģ gz H=h hz
utf8 : utf8_unicode_ci F=f fz ƒ G=g=Ğ=ğ=Ģ=ģ gz H=h hz
utf8 : utf8_turkish_ci I=ı i=Ì=Í=Í=Î=Ï=ì=í=í=î=ï=Ī=ī=Į=į=İ ij=ij iz J=j
utf8 : utf8_unicode_520_ci I=i=Ì=Í=Í=Î=Ï=ì=í=í=î=ï=Ī=ī=Į=į=İ ij=ij iz ı J=j
utf8 : utf8_unicode_ci I=i=Ì=Í=Í=Î=Ï=ì=í=í=î=ï=Ī=ī=Į=į=İ ij=ij iz ı J=j
utf8 : utf8_turkish_ci K=k=Ķ=ķ L=l=Ĺ=ĺ=Ļ=ļ lj=LJ=Lj=lj ll lz Ł=ł M=m N=n=Ñ=ñ=Ń=ń=Ņ=ņ=Ň=ň nz
utf8 : utf8_unicode_520_ci K=k=Ķ=ķ L=l=Ĺ=ĺ=Ļ=ļ=Ł=ł lj=LJ=Lj=lj ll lz M=m N=n=Ñ=ñ=Ń=ń=Ņ=ņ=Ň=ň nz
utf8 : utf8_unicode_ci K=k=Ķ=ķ L=l=Ĺ=ĺ=Ļ=ļ lj=LJ=Lj=lj ll lz Ł=ł M=m N=n=Ñ=ñ=Ń=ń=Ņ=ņ=Ň=ň nz
utf8 : utf8_turkish_ci O=o=º=Ò=Ó=Ó=Ô=Õ=ò=ó=ó=ô=õ oe=Œ=œ oz Ö=ö Ø=ø
utf8 : utf8_unicode_520_ci O=o=º=Ò=Ó=Ó=Ô=Õ=Ö=Ø=ò=ó=ó=ô=õ=ö=ø oe=Œ=œ oz
utf8 : utf8_unicode_ci O=o=º=Ò=Ó=Ó=Ô=Õ=Ö=ò=ó=ó=ô=õ=ö oe=Œ=œ oz Ø=ø
utf8 : utf8_turkish_ci P=p Q=q R=r=Ř=ř S=s=Š=Š=š=š sh ss=ß sz Ş=ş
utf8 : utf8_unicode_520_ci P=p Q=q R=r=Ř=ř S=s=Ş=ş=Š=Š=š=š sh ss=ß sz
utf8 : utf8_unicode_ci P=p Q=q R=r=Ř=ř S=s=Ş=ş=Š=Š=š=š sh ss=ß sz
utf8 : utf8_turkish_ci T=t=Ť=ť TM=tm=™ tz U=u=Ù=Ú=Ú=Û=ù=ú=ú=û=Ū=ū=Ů=ů=Ų=ų ue uz Ü=ü V=v
utf8 : utf8_unicode_520_ci T=t=Ť=ť TM=tm=™ tz U=u=Ù=Ú=Ú=Û=Ü=ù=ú=ú=û=ü=Ū=ū=Ů=ů=Ų=ų ue uz V=v
utf8 : utf8_unicode_ci T=t=Ť=ť TM=tm=™ tz U=u=Ù=Ú=Ú=Û=Ü=ù=ú=ú=û=ü=Ū=ū=Ů=ů=Ų=ų ue uz V=v
utf8 : utf8_turkish_ci W=w X=x Y=y=Ý=Ý=ý=ý=ÿ=Ÿ yz
utf8 : utf8_unicode_520_ci W=w X=x Y=y=Ý=Ý=ý=ý=ÿ=Ÿ yz
utf8 : utf8_unicode_ci W=w X=x Y=y=Ý=Ý=ý=ý=ÿ=Ÿ yz
utf8 : utf8_turkish_ci Z=z=Ž=Ž=ž=ž zh zz Þ=þ
utf8 : utf8_unicode_520_ci Z=z=Ž=Ž=ž=ž zh zz Þ=þ
utf8 : utf8_unicode_ci Z=z=Ž=Ž=ž=ž zh zz Þ=þ
Æ、Ç、Ð、Ğなどが、照合ごとに異なる方法でソートされていることに注目してください。
520はおそらく通常のテキスト、特にトルコ語だけには影響しません。たとえば、トルコ語と520は、Ð
を別の文字と見なしますが、utf8_unicode_ci
はそれをD
と同じように扱います。 520はトルコ語に「近い」ように見えますが、すべての文字で同一ではありません。