🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.ruby
Article #198

Re: Polskie znaki i sortowanie

#198
From: Marcin Mielżyński
Date: Fri, 15 Sep 2006 00:53
32 lines
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-mail
References: <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