Project

General

Profile

Actions

Backport #9915

closed

Encoding error when inspecting an array containing Pathname with UTF-8 characters

Added by Anonymous almost 8 years ago. Updated over 7 years ago.

Status:
Closed
Priority:
Normal
[ruby-core:62978]

Description

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.

Actions

Also available in: Atom PDF