Issue #9915 has been updated by Usaku NAKAMURA. Status changed from Assigned to Closed % Done changed from 0 to 100 Applied in changeset r47929. ---------- merge revision(s) 42060: [Backport #9915] * ext/pathname/pathname.c (path_inspect): use PRIsVALUE to preserve the result encoding. ---------------------------------------- Backport #9915: Encoding error when inspecting an array containing Pathnamewith UTF-8 characters https://bugs.ruby-lang.org/issues/9915#change-49446 * Author: Jack Nagel * Status: Closed * Priority: Normal * Assignee: Usaku NAKAMURA ---------------------------------------- Given: ``` $ locale LANG="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_CTYPE="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_ALL="en_US.UTF-8" $ cat t.rb # encoding: UTF-8 require "pathname" puts [Pathname.new("QQ²».app")].inspect ``` this script produces the following on Ruby 1.9.3: ``` [#<Pathname:QQ²».app>] ``` on Ruby 2.0.0: ``` t.rb:3:in `inspect': inspected result must be ASCII only or use the same encoding with default external (Encoding::CompatibilityError) from t.rb:3:in `<main>' ``` and on Ruby 2.1.1: ``` [#<Pathname:QQ²».app>] ``` I believe Ruby 2.0.0 should produce the same result as 1.9.3 and 2.1.1. -- https://bugs.ruby-lang.org/