In place of std::cout << line << std::endl; try std::cout << line.c_str() << std::endl; Bob Caryl Gezim Hoxha wrote: Hi all, I have a function that reads a file that contains some ISO-8859-1 encoded characters: bool Locations::loadData(const Glib::ustring& file) { Glib::RefPtr<Glib::IOChannel> skeda = Glib::IOChannel::create_from_file (file, "r"); std::cout << "Encoding is " << skeda->get_encoding() << std::endl; skeda->set_encoding("ISO-8859-1"); std::cout << "New encoding is " << skeda->get_encoding() << std::endl; Glib::ustring line; int i=0; try { while ((skeda->read_line(line)) == Glib::IO_STATUS_NORMAL) { std::cout << "Initration: " << i << std::endl << std::flush; ctrs.push_back(line); // ctrs is a Glib::ustring vector std::cout << line << std::endl; ++i; } } catch (Glib::Exception& e) { std::cout << "Something happended I supposed: " << typeid(e).name() << " and " << e.what() << std::endl; } return true; } And I've isolated the problem to be with outputting the string "line" namely in: std::cout << line << std::endl; When a line such as the following is attempted to be printed with the above statement: ad,anyos,Anyós,05,42.5333333,1.5333333 This exception is thrown: N4Glib12ConvertErrorE with this what: Invalid byte sequence in conversion input So, how am I supposed to print those types of lines? Thanks, -Gezim _______________________________________________ gtkmm-list mailing list gtkmm-list gnome org http://mail.gnome.org/mailman/listinfo/gtkmm-list --
Robert L. Caryl Jr. Fiscal Systems, Inc. 102 Commerce Circle Madison, AL 35758-2706 USA 256-772-8922 ext. 108 This e-mail message may contain privileged or confidential information. If you are not the intended recipient, you may not disclose, use, disseminate, distribute, copy or relay this message or attachment in any way. If you received this e-mail message in error, please return by forwarding the message and it's attachment to the sender and then delete the message and it's attachment from your computer. Neither Fiscal Systems, Inc., nor its affiliates, accept any liability for any errors, omissions, corruption or viruses in the contents of this message or any attachments that arise as a result of e-mail transmission.
|