{"id":2174,"date":"2016-11-04T12:18:31","date_gmt":"2016-11-04T10:18:31","guid":{"rendered":"http:\/\/soci.hu\/blog\/?p=2174"},"modified":"2016-11-04T12:18:31","modified_gmt":"2016-11-04T10:18:31","slug":"mit-is-jelent-pontosan-hogy-accent-insensitive","status":"publish","type":"post","link":"https:\/\/soci.hu\/blog\/index.php\/2016\/11\/04\/mit-is-jelent-pontosan-hogy-accent-insensitive\/","title":{"rendered":"Mit is jelent pontosan, hogy Accent Insensitive?"},"content":{"rendered":"<p>B\u00f3lyai magyar verseny kapcs\u00e1n gondolkodtam a magyar nyelv rendez\u00e9si szab\u00e1lyain.<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\nstring&#x5B;] words = new string&#x5B;] { &quot;\u00edr\u00f3g\u00e9p&quot;, &quot;\u00edrat&quot;, &quot;irk\u00e1l&quot;, &quot;irodalom&quot;, &quot;\u00edr\u00f3&quot;, &quot;\u00edr\u00e1s&quot; };\r\nArray.Sort(words, StringComparer.Create(new System.Globalization.CultureInfo(&quot;hu-hu&quot;), false));\r\nforeach (var w in words)\r\n{\r\n    Console.WriteLine(w);\r\n}\r\n<\/pre>\n<p>Kimenet:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n\u00edr\u00e1s\r\n\u00edrat\r\nirk\u00e1l\r\n\u00edr\u00f3\r\nirodalom\r\n\u00edr\u00f3g\u00e9p\r\n<\/pre>\n<p>Ezek szerint az alap magyar kult\u00fara szerint a C# (val\u00f3j\u00e1ban a Windows) accent insensitive m\u00f3don rendez. A gyerekek is azt mondt\u00e1k, \u00edgy tanulj\u00e1k az iskol\u00e1ban. Az \u00e9n fejemben ez nem \u00edgy volt. Vagy bugos a fejem, vagy mi m\u00e9g nem \u00edgy tanultuk, nem tudom.<\/p>\n<p>N\u00e9zz\u00fck SQL Serverben!<\/p>\n<pre class=\"brush: sql; title: ; notranslate\" title=\"\">\r\nCREATE TABLE &#x5B;dbo].&#x5B;A](\r\n\t&#x5B;Nev] &#x5B;nvarchar](50) NOT NULL\r\n) ON &#x5B;PRIMARY]\r\n\r\nselect * from A\r\norder by Nev collate hungarian_CS_AI\r\n<\/pre>\n<p>Azaz Accent Insensitive a rendez\u00e9s, \u00edgy joggal azonos a C#-pos kimenettel:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n\u00edr\u00e1s\r\n\u00edrat\r\nirk\u00e1l\r\n\u00edr\u00f3\r\nirodalom\r\n\u00edr\u00f3g\u00e9p\r\n<\/pre>\n<p>Ami viszont bizarr:<\/p>\n<pre class=\"brush: sql; title: ; notranslate\" title=\"\">\r\nselect * from A\r\norder by Nev collate hungarian_CS_AS\r\n<\/pre>\n<p>Kimenet:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\n\u00edr\u00e1s\r\n\u00edrat\r\nirk\u00e1l\r\n\u00edr\u00f3\r\nirodalom\r\n\u00edr\u00f3g\u00e9p\r\n<\/pre>\n<p>Ugyanaz! Magyar nyelv eset\u00e9n nem sz\u00e1m\u00edt az \u00e9kezet \u00e9rz\u00e9kenys\u00e9g, akkor se vessz\u00fck figyelembe az \u00e9kezeteket, ha kifejezetten k\u00e9rj\u00fck. Ez nekem furcsa, de nem \u00e9n \u00edrom a magyar nyelvi szab\u00e1lyokat.<\/p>\n<p>Van egy m\u00e1sik collation is, ann\u00e1l meg mindig accent insensitive a rendez\u00e9s, f\u00fcggetlen\u00fcl a be\u00e1ll\u00edt\u00e1st\u00f3l:<\/p>\n<pre class=\"brush: sql; title: ; notranslate\" title=\"\">\r\nselect * from A\r\norder by Nev collate Hungarian_Technical_CI_AS\r\nselect * from A\r\norder by Nev collate Hungarian_Technical_CI_AI\r\n<\/pre>\n<p>Mind\u00e9t esetben ez a kimenet:<\/p>\n<pre class=\"brush: plain; title: ; notranslate\" title=\"\">\r\nirk\u00e1l\r\nirodalom\r\n\u00edrat\r\n\u00edr\u00e1s\r\n\u00edr\u00f3\r\n\u00edr\u00f3g\u00e9p\r\n<\/pre>\n<p>Teh\u00e1t a magyar az egy olyan \u00e1llatfajta, amiben nem az AI\/AS szab\u00e1lyozza az Accent Sensitivity-t, hanem, hogy melyik collationt haszn\u00e1ljuk.<\/p>\n<p>Ami viszont v\u00e9gk\u00e9pp fura, hogy a Latin1_General_100_CI_AS vs Latin1_General_100_CI_AI sem v\u00e1ltoztatja meg a sorrendet. Hogy van ez?<\/p>\n<p>A mi a\u00e1, stb. vari\u00e1nsaink nem tartoznak az accentek k\u00f6z\u00e9?<\/p>\n<p><a href=\"http:\/\/www.unicode.org\/reports\/tr10\/\">Itt<\/a> \u00e9s <a href=\"http:\/\/rusanu.com\/2012\/11\/23\/case-sensitive-collation-sort-order\/\">itt<\/a> \u00e9rdekeseket \u00edrnak a t\u00e9m\u00e1r\u00f3l.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>B\u00f3lyai magyar verseny kapcs\u00e1n gondolkodtam a magyar nyelv rendez\u00e9si szab\u00e1lyain. string&#x5B;] words = new string&#x5B;] { &quot;\u00edr\u00f3g\u00e9p&quot;, &quot;\u00edrat&quot;, &quot;irk\u00e1l&quot;, &quot;irodalom&quot;, &quot;\u00edr\u00f3&quot;, &quot;\u00edr\u00e1s&quot;&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,4,30],"tags":[],"class_list":["post-2174","post","type-post","status-publish","format-standard","hentry","category-adatbazisok","category-szakmai-elet","category-sql-server"],"_links":{"self":[{"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/posts\/2174","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=2174"}],"version-history":[{"count":1,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/posts\/2174\/revisions"}],"predecessor-version":[{"id":2175,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/posts\/2174\/revisions\/2175"}],"wp:attachment":[{"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=2174"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/categories?post=2174"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/soci.hu\/blog\/index.php\/wp-json\/wp\/v2\/tags?post=2174"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}