mingw32 - ruby on windows: How to store an accented string in an environment variable and get it back intact -
when save string containing é in env variable, , in ruby, appears messed up. doing wrong?
to demonstrate, script
require 'zlib' puts "encoding.default_external #{encoding.default_external}" puts "encoding.default_internal #{encoding.default_internal}" puts "file.expand_path("") #{file.expand_path("")}" puts "file.expand_path("") size #{file.expand_path("").size}" puts "file.expand_path("").encoding #{file.expand_path("").encoding}" puts "file.expand_path("") checksum #{zlib::crc32(file.expand_path(""))}" puts "saving" env['abc'] = file.expand_path("") puts "env['abc'] #{env['abc']}" puts "env['abc'] size #{env['abc'].size}" puts "env['abc'].encoding #{env['abc'].encoding}" puts "env['abc'] checksum #{zlib::crc32(env['abc'])}"
produces
c:\users\name\nestlé\learn-rails>ruby test.rb encoding.default_external ibm437 encoding.default_internal file.expand_path() c:/users/name/nestlé/learn-rails file.expand_path() size 32 file.expand_path().encoding utf-8 file.expand_path() checksum 1553489379 saving env['abc'] c:/users/name/nestlac/learn-rails env['abc'] size 35 env['abc'].encoding ascii-8bit env['abc'] checksum 3711979874 c:\users\name\nestlé\learn-rails>
Comments
Post a Comment