http://www.perlmonks.org?node_id=1060799
Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Dear monks

I've been trying for days and I'm really getting upset, because or 1) I'm a total idiot or 2) perl makes things difficult when it cames to unicode.

I just want to connect to a Sqlite database on a Windows machine. The database is in a directory containing non english characters... Teh file position is selected with a Tk Gui. I've tried different modules and different approches. No results

If there is a non english caracter in the path, it just wan't open the database (C:\folder-)

use strict; use warnings; use Tk; use DBD::SQLite; my $mw = new MainWindow; my $types = [ ['Text', '.db'], ['All Files', '*'],]; my $file= $mw->getOpenFile(-filetypes => $types); my $shortpath=Win32::GetANSIPathName($file); #for path with accent +s my $path_and_databasename=$shortpath; my $lco; #connecting to sqlite my $dbh = DBI->connect("dbi:SQLite:$path_and_databasename", "", "" +, { RaiseError => 1, AutoCommit => 1, PrintError => 0 }); my $all = $dbh->selectall_arrayref("SELECT language FROM metada +ta"); foreach my $row_db (my @all) { ($lco) = @$row_db; } print "Connected: $lco\n";

Any solution, I don't need to use getOpenFile. Any other solution with a Browse Tk would be fine!