Feature #16233


winruby UTF8 Fallback for no CodePage

Added by gabuscus (Gabriel Nagy) about 2 years ago. Updated 11 months ago.

Target version:


This is to deal specifically with setting the Region to Arabic which
sets the codepage to 720. This codepage isn't recognised by Ruby which
causes it to fail during initialisation when setting up LOCALE.

This patch to Ruby is necessary to handle languages/regions on windows
where the codepage is not supported by Ruby such as Arabic which uses
codepage 720.
If the codepage is not found, the Locale falls back to UTF8.

This is a well known Ruby/Ruby on Rails issue which is described at

Opened PR:


windows_nocodepage_utf8_fallback_r2.5.patch (946 Bytes) windows_nocodepage_utf8_fallback_r2.5.patch patch to fix the issue gabuscus (Gabriel Nagy), 10/03/2019 07:27 AM
Actions #1

Updated by gabuscus (Gabriel Nagy) about 2 years ago

  • Description updated (diff)

Updated by duerst (Martin Dürst) about 2 years ago

If codepage 720 is not supported, then we should look at supporting it.

Updated by gabuscus (Gabriel Nagy) about 2 years ago

duerst (Martin Dürst) wrote:

If codepage 720 is not supported, then we should look at supporting it.

fair point, however investigation on this Puppet ticket: concluded that falling back to UTF-8 fixes the issue (for codepage 720 at least). we could also check the codepage when catching the ArgumentError so we fallback only in that case

edit: also I'm not sure what does adding a new codepage entail? I agree that would be the cleaner solution

Actions #4

Updated by hsbt (Hiroshi SHIBATA) almost 2 years ago

  • Tags set to patch, win, encoding

Updated by naruse (Yui NARUSE) almost 2 years ago

  • Backport deleted (2.5: UNKNOWN, 2.6: UNKNOWN)
  • ruby -v deleted (2.6.3)
  • Target version set to 36
  • Assignee set to duerst (Martin Dürst)
  • Tracker changed from Bug to Feature

Updated by duerst (Martin Dürst) almost 2 years ago

Will do, but probably not very soon, because it's now the most busy time of the year at work, sorry.

Some notes: For the encoding (onigX), windows-1256 is a replica of iso-8859-6. But windows-1256 is much more complete, while iso-8859-6 has many unassigned codepoints, so it may be a good idea to fix this if we get around to it.

Just adding an alias 'CP720' for windows-1256 is much easier.

Actions #7

Updated by hsbt (Hiroshi SHIBATA) about 1 year ago

  • Target version changed from 36 to 3.0

Updated by gabuscus (Gabriel Nagy) 11 months ago

duerst (Martin Dürst) wrote in #note-6:

Just adding an alias 'CP720' for windows-1256 is much easier.

Hi duerst (Martin Dürst), sorry for digging this up. I read your comment and updated my original pull request to alias CP720 to windows-1256:

Updated by larskanis (Lars Kanis) 11 months ago

I've been notified by this issue several times, so that I finally implemented the missing codepage CP720 in . I hope it's OK to be merged.

Updated by naruse (Yui NARUSE) 11 months ago

  • Status changed from Open to Closed

Applied in changeset git|d403591b34e204a5937241025c62c877e579fbaf.

Add string encoding IBM720 alias CP720 (GH-3803)


Also available in: Atom PDF