Article View: pl.comp.lang.ruby
Article #198Re: Polskie znaki i sortowanie
From: Marcin Mielżyński
Date: Fri, 15 Sep 2006 00:53
Date: Fri, 15 Sep 2006 00:53
32 lines
1690 bytes
1690 bytes
TomekB wrote:
> Witam!
>
> W jaki sposób zmusić Ruby do posortowania tablicy stringów z
> uwzględnieniem polskich liter zakodowanych w iso-8859-2? Podobnie jest z
> metodami upcase/downcase i podobnymi.
>
> pozdrawiam
w zasadzie rozwiązanie już istniało, wystarczy:
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/74869
i:
require "locale.so"
require 'iconv'
iconv=Iconv.new("utf-8","whatever")
iconv2=Iconv.new("whatever","utf-8")
Locale::setlocale(Locale::LC_ALL, "pl_PL.UTF-8")
puts %w|ńńń łłśśśśłśłś ąśąś ażźć
żćźćżźćż|.map{|e|iconv.iconv(e)}.sort{|a,b|
Locale::strcoll(a,b)}.map{|e|iconv2.iconv(e)}
wygląda na to że faktycznie działa. Można pokombinować z innymi
kodowaniami coby nie przekodowywać za każdym razem docelowo.
lopex
Technical Details
Message-ID:
<eectib$920$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mailReferences:
<pan.2006.09.13.18.48.23.601045@o_dwa_.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mail From: Marcin Mielżyński <lopx@gazeta.pl> Newsgroups: pl.comp.lang.ruby Subject: Re: Polskie znaki i sortowanie Date: Fri, 15 Sep 2006 02:53:29 +0200 Organization: Onet.pl Lines: 32 Message-ID: <eectib$920$1@news.onet.pl> References: <pan.2006.09.13.18.48.23.601045@o_dwa_.pl> NNTP-Posting-Host: chello087207016023.chello.pl Mime-Version: 1.0 X-Trace: news.onet.pl 1158281611 9280 87.207.16.23 (15 Sep 2006 00:53:31 GMT) X-Complaints-To: usenet@news.onet.pl NNTP-Posting-Date: Fri, 15 Sep 2006 00:53:31 +0000 (UTC) X-Sender: 5Da2qcG7AWj7WISFX859Php/OS6q4VnB In-Reply-To: <pan.2006.09.13.18.48.23.601045@o_dwa_.pl> User-Agent: Thunderbird 1.5.0.5 (Windows/20060719) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit