2014-01-22 2 views
-1

Я пишу код для создания. CSV-файлы там с тайскими символами. Но когда я открываю файл с использованием символов Excel Excel в этом файле неправильно. Но когда я открываю его в «Блокноте», а затем я нажимаю «Сохранить». И снова откройте его в Excel. Желательно, я думаю, это потому, что программа не кодирует utf-8. Мне нужно было сделать программу, сохранить ее как utf-8.Как сохранить CSV-файл как UTF-8

std:: ofstream MyCSVFile; 
MyCSVFile.open("myfile.csv", std::ios::out | std::ios::app); 
MyCSVFile << "Name,Address" << endl; 
MyCSVFile <<name<<","<<address << endl; 
MyCSVFile.close(); 
} 
+0

В чем вопрос? – drankin2112

+1

Если вы храните данные по имени и адресу в UTF8, я думаю, они будут записаны как таковые. (C++ и '<<' просто пишут байты и не особо интересуются кодировками.) Это просто передает вопрос, чтобы убедиться, что ваши исходные данные находятся в кодировке, которую вы хотите, я думаю. – tabstop

ответ

0

Вам необходимо написать спецификацию в начале файла. Попробуйте это:

const char *bom = "\xef\xbb\xbf"; 
MyCSVFile << bom; 
MyCSVFile << "Name... 

Это хорошо читать: BOM in Wikipedia.

Смежные вопросы