Preserve Unicode locale data in DateTime::Locale::FromCLDR
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Área
- backend, internationalization
Línea de trabajo
Reproduce los fallos en t/01.locale.t, t/03.day_period.t, t/04.am_pm.t, t/05.timezone.t, t/06.locale_numbering_system.t y t/10.number_system_digits.t usando system Perl como referencia. Rastree la ruta Locale::Unicode::Data/SQLite/DBI y la representación escalar de PerlOnJava para encontrar dónde los bytes UTF-8 se convierten en caracteres Latin-1. Se considera terminado cuando una regresión específica con caracteres no ASCII pasa en ambos backends y DateTime-Locale-FromCLDR v0.8.7 pasa las 219 pruebas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
PerlOnJava corrupts non-ASCII locale data returned by DateTime::Locale::FromCLDR v0.8.7. UTF-8 values are exposed as byte sequences interpreted as Latin-1, producing mojibake. ASCII locale data remains correct.
CPAN impact
- Distribution: DateTime-Locale-FromCLDR v0.8.7
- CPAN run: 20260913-205737-64746
- PerlOnJava result: 25 of 219 subtests failed in 6 of 15 test programs
- Affected tests: t/01.locale.t, t/03.day_period.t, t/04.am_pm.t, t/05.timezone.t, t/06.locale_numbering_system.t, and t/10.number_system_digits.t
The unaffected tests include t/07.ltr.t, t/08.dst.t, t/09.fatal.t, and the POD tests.
Observed failures
Representative values are returned as UTF-8 bytes decoded as Latin-1. For example:
got: ããã«ã³
expected: バチカン
Other observed mismatches include:
got: åå
expected: 午前
got: a.â¯m.
expected: a. m.
got: Ù
expected: ٠
Failures affect Japanese, Korean, Arabic, French, and other locale data, including AM/PM names, timezone names and formats, numbering-system digits, and locale display strings.
System Perl oracle
The same distribution and dependency versions pass completely under system Perl in the archived run:
t/01.locale.t ................... ok
t/03.day_period.t ............... ok
t/04.am_pm.t .................... ok
t/05.timezone.t ................. ok
t/06.locale_numbering_system.t .. ok
t/10.number_system_digits.t ..... ok
All tests successful.
Files=15, Tests=219
Result: PASS
The distribution is pure Perl. Its Locale::Unicode::Data dependency supplies CLDR data through a bundled SQLite database; no external locale service or native prerequisite is involved in the failing path.
Expected behavior
DateTime::Locale::FromCLDR should return Perl character strings preserving the original Unicode code points and should produce the same locale names, patterns, and digit strings as system Perl.
Investigation requested
Trace the Unicode conversion boundary in the Locale::Unicode::Data/SQLite/DBI path and the PerlOnJava scalar representation. Determine where UTF-8 bytes become Latin-1 characters, then add a small system-Perl-validated regression test covering a non-ASCII CLDR value such as the Japanese AM/PM string or Arabic digits.
The issue may share infrastructure with broader Unicode byte/character problems tracked in issue #1275, but this is a distinct, reproducible CLDR data-path failure.
Acceptance criteria
- Non-ASCII CLDR values retain correct code points and UTF-8 semantics.
- The focused regression passes on JVM and interpreter backends.
- DateTime-Locale-FromCLDR v0.8.7 passes all 219 tests on both backends.
- Lenguaje dominante
- Perl
- Estrellas
- 64
- Forks
- 6
- Merge medio
- 5 h 38 min
- PR fusionados (30 d)
- 170
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de fglock/PerlOnJava
-
area:cpan-port area:unicode bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
fglock/PerlOnJava#1341 ·
-
area:backend area:runtime bug
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
fglock/PerlOnJava#1511 ·
-
area:backend area:cpan-port bug
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
fglock/PerlOnJava#1508 · 1 comentario ·
-
Port IPC::SysV (low priority) Abiertoarea:cpan-port area:platform enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
fglock/PerlOnJava#1507 ·
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
fglock/PerlOnJava#1506 ·
Todos los issues de fglock/PerlOnJava
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
documentation Needs Triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
trizen/youtube-viewer#456 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
connectivity Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 80/100