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