When exporting csv in Rails 4.2 app, there are ascii code in the csv output for Chinese characters (UTF8):
ä¸åˆåŒç†Šå·¥ç‰ç”¨é¤
We tried options in send_data without luck:
send_data @payment_requests.to_csv, :type => 'text/csv; charset=utf-8; header=present'
And:
send_data @payment_requests.to_csv.force_encoding("UTF-8")
In model, there is forced encoding utf8:
# encoding: utf-8
But it does not work. There are online posts talking about use gem iconv. However iconv depends on the platform's ruby version. Is there cleaner solution to fix the ascii in Rails 4.2 csv exporting?
If @payment_requests.to_csv includes ASCII text, then you should use encode method:
@payment_requests.to_csv.encode("UTF-8")
or
@payment_requests.to_csv.force_encoding("ASCII").encode("UTF-8")
depending on which internal encoding @payment_requests.to_csv has.
You can try:
@payment_requests.to_csv.force_encoding("ISO-8859-1")
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With