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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.