Invalid argument for file creating

hi
I use song_title to creat a file named by song_title.I have many song
titles to create many files.but unfortunately,some of song titles
contain special characters,such as [ ,which leads the following error:

Errno::EINVAL in Lyric spiderController#scrap_one_category
Invalid argument - e:/rails/lyric/public/song/e/Energy/
[ar:Energy.lrc

I use the following codes to create and write to files:

File.open(singer_dir+"/"+UTF8_TO_GBK.iconv(song_title)+".lrc",‘w’)do
|f|

f.write(lyric_initial_data)

end

It is impossible to drop those special characters individually,and they
are valid file names on my windows system when i manually create the
file using them.
I have used the CGI escape methods,but the resulted filename was not
what i want.

how to keep those characters for file name,and prevent the error
happens?

hi
can you help me? thank you!

hi
is there any method to do it? thank you!

I don’t have any direct experience with this, but perhaps you could
begin isolating the problem by trying to directly pass a hard-coded
string as in
File.open(“this_is_the_title.lrc”,“w”),
sidestepping the filename creation process.

Phillip wrote:

I don’t have any direct experience with this, but perhaps you could
begin isolating the problem by trying to directly pass a hard-coded
string as in
File.open(“this_is_the_title.lrc”,“w”),
sidestepping the filename creation process.

Thank you,phillip.I am driven mad by those characters and encoding.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs