I finished my first pass at reworking the standard CSV library to have n m17n aware parser and generator. I committed the changes yesterday.
Everything is documented so it should be pretty easy to figure out,
but generally you just set the encodings for your IO or String objects orrectly and CSV should do the rest:
# reading example
CSV.foreach( :encoding => ") do |row|
# row will be parsed but not transcoded here
end
# writing example
CSV.open( "wb:) do |csv|
csv << data
# data will be quoted and separated with characters
# in the proper encoding
end
And everything defaults to Encoding.default_external, naturally.
If anyone finds faults with the new system please let me know.