1.14. Obsługa międzynarodowego kodowania

Problem

W łańcuchu znajdują się znaki niewchodzące w skład kodu ASCII — na przykład znaki Unicode kodowane według UTF-8.

Rozwiązanie

Aby zapewnić poprawną obsługę znaków Unicode, należy na początku kodu umieścić następującą sekwencję:

$KCODE='u'
require 'jcode'

Identyczny efekt można osiągnąć, uruchamiając interpreter języka Ruby w następujący sposób:

$ ruby -Ku –rjcode

W środowisku Uniksa można określić powyższe parametry w poleceniu uruchamiającym skrypt (shebang line):

#!/usr/bin/ruby -Ku –rjcode

W bibliotece jcode większość metod klasy String została przedefiniowana tak, by metody te zapewniały obsługę znaków wielobajtowych. Nie przedefiniowano metod String#length, String#count i String#size ...

Get Ruby. Receptury now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.