---
name: "Path::Class::Unicode"
section: "3pm"
platform: "linux"
package: "libpath-class-uri-perl"
version: "0.08-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Path::Class::Unicode"
---

# Path::Class::Unicode(3pm)

Maps Unicode filenames to local encoding and code pages

## NAME

Path::Class::Unicode - Maps Unicode filenames to local encoding and code pages

## SYNOPSIS

```
  use Path::Class::Unicode;
  # Use ufile() to create Unicode objects
  my $fn   = "\x{55ed}.txt";
  my $file = ufile("path", $fn);
  my $fh = $file->open;
  my $fn   = "\x{55ed}.txt";
  my $file = ufile("/path", $fn);
  my $uri  = $file->uri;  # file:///path/%E5%97%AD.txt (always utf-8)
  my $fh   = ufile_from_uri($uri)->open;
```

## DESCRIPTION

Path::Class::Unicode is a Path::Class extension to handle Unicode file names by mapping them to local encodings when stringified. It maps to UTF-8 for all UNIX systems including Mac OS X and uses Windows code page (like cp932 for Japanese) in Win32 systems.

It's very useful if you store file paths using URI representation like \<file://\> and uses URI escaped UTF-8 characters for non-ASCII characters. See Path::Class::URI for details.

## TODO

It would be nice if we could proxy filehandles using Win32API::File.

## AUTHOR

Tatsuhiko Miyagawa \<miyagawa@cpan.org\>

mattn

## LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

## SEE ALSO
