C++编码(特殊字符 Ø,é...)
C++ Encoding (special character Ø,é...)
我的工作c++/Windows/minGw
我从文件。xml中得到一个带有特殊字符的字符串文件xml上的提示是"Quimby_éé_ØØ R90 GP_NomPoints.txt"。对于奇怪字符
,结果是不同的。My file.xml sounds ok:
<?xml version="1.0" encoding="UTF-8"?>
测试:
当我从文件。txt中得到一个带有特殊字符的字符串时,它不起作用当我将字符串写入。txt文件时,它工作得很好。
那么ide控制台可能有问题。
我代码:
void parser_fichier_xml(string fich,string &ActPoints,string &NomPoints)
{
//string ActPoints;
//string NomPoints;
TiXmlDocument doc(fich.c_str());
if(doc.LoadFile(TIXML_ENCODING_UTF8))
{
TiXmlHandle hdl(&doc);
TiXmlElement *elem = hdl.FirstChildElement("GeometryData").FirstChildElement("Element").Element(); //Création de elem (arbre DOM constituant noeud --enfant)
if(!elem)
{
cout<<"le noeud à atteindre n'existe pas"<<endl;
//return 1;
} //boucle pour vérifier que l'élément ait bien un enfant
/* ********* Recuperer chemin nompoint actpoint dans balise XML *********** */
ActPoints = elem->Attribute("ActPoints");
NomPoints = elem->Attribute("NomPoints");
/* *****test dans fichier de sorti ***** */
string const nomFichier("Z:/Production/Methodes/InfoTec/Developpement/Zeiss_PCM/toCALYPSO/test.txt");
ofstream fichier(nomFichier.c_str());
if(fichier)
{
fichier << NomPoints<< endl;
fichier.close();
}
else
cerr << "Impossible d'ouvrir le fichier test.txt !" << endl;
/* ************************************************** */
debug_string("Chemin ActPoints: ",ActPoints,"Chemin NomPoints: ",NomPoints); //affiche dans console
}
else
{
cerr << "Erreur d'ouverture du fichier .XML" << endl;
}
}
作为回答,我不喜欢一个替换特殊字符的函数,而是一些改变所有
的函数如果有人可以帮助我
谢谢你
windows控制台几乎不支持Unicode,绝对不支持UTF-8, MinGW的std::cout
也帮不了你。对不起。
谢谢你的回答,
的评论。下次我会尽量减少我的声音。
我知道什么是UFT-8,ASCII是不够的(没有Ø,
为了实用,我有两个选择ISO 8859或UTF-8和UTF-8更完整(日文等)
测试:
我尝试了这个特殊字符"
显示(cout或printf)是不重要的,因为我得到的值(结果)像路径。
我将尝试使用ISO 8859,但即使有包含"éé_ØØ"的文件文本,控制台也不会写入相同的"éé_ØØ"
对不起,我不能发送结果的图片(这个网站问10个声誉)
相关文章:
- 如何用转义符替换字符串中的所有特殊字符
- 转换特殊字符(UTF-8)
- 是否有任何区域设置会影响宽字符编码?
- 反转字符串中单词的位置,而不更改 O(1) 空格限制中特殊字符的顺序
- 如何在C++中打印此"█"特殊字符?
- c++为什么ifstream get()函数返回无法识别的特殊字符
- 如何检查字符串是否包含所有这些:数字、字母和特殊字符
- 转义std::字符串中的特殊字符
- SDL2加载具有特殊字符的文件
- 将 std::string 转换为具有特殊字符的 FString (TCHAR / wstring)
- 如何从文本文件C++读取整数和特殊字符
- USB序列号显示特殊字符
- 键入特殊字符并保存在文件中
- 回文,不包括特殊字符和空格
- 字符编码和带有C++的文件名
- Base64 在编码特殊字符时不起作用
- CCLabelBMFont、编码和特殊字符
- cURL post字段是用特殊字符编码的
- C++编码(特殊字符 Ø,é...)
- 编码.Utf8将逗号转换为c#中的一些特殊字符