http://www.perlmonks.org?node_id=1031708

david2008 has asked for the wisdom of the Perl Monks concerning the following question:

Hi all,

I am processing files from many sources and languages, including chinese.
Sometimes the files are not encoded properly (or part of them) and they result in gibberish characters.
I don't need even to detect the encoding. I just want to skip the problematic lines of the file which are gibberish.
How do i accomplish it ?

Thanks,
David

Replies are listed 'Best First'.
Re: gibberish detection
by Anonymous Monk on May 02, 2013 at 10:22 UTC
Re: gibberish detection
by graff (Chancellor) on May 03, 2013 at 02:19 UTC
    I don't even need to detect the encoding. I just want to skip the problematic lines of the file which are gibberish.

    I'm sorry, but that really makes no sense at all. If you don't know what the encoding is supposed to be for a given file, there's a good chance that the entire file will be "gibberish".

    If you happen to have data created by some idiotic process that concatenates different encodings into a single data stream, you should actually try to find a better process that doesn't make that mistake.

    For that matter, if a given file (data stream) can have two or more distinct languages (even if a single encoding is used consistently throughout), then your situation is a lot more complicated and difficult than it would be if different languages were organized in different files as a starting point.

    As for how to accomplish anything, it might help if you show us some sample data ("good" and "gibberish"), along with whatever code you've got so far that gives us some idea of what you're trying to do with the data.