J'ai demandé à cette Question Il y a une journée concernant les caractères grecs Unicode, et maintenant j'ai une question qui s'appuie sur celui-ci.
Après avoir extrait toutes mes données, j'ai essayé de le préparer à l'importation dans Excel. J'ai dû choisir un fichier délimité à l'onglet car certaines de mes données contiennent des virgules (chanceux moi!). P>
Le problème que je suis en cours est un caractère très étrange après avoir importé les données dans Excel. p>
Les données de colonne dans le bloc-notes ++ ressemblent à ceci: p> Les données de cellule Excel ressemble à ceci: p> Total Suspended Solids @105ðC
3 Réponses :
Je ne suis pas absolument sûr, mais je pense que Excel s'attend à ce que l'encodage de caractères Windows-1252, assurez-vous que vous créez votre fichier texte à l'aide de Par exemple: p> coding.gecoding ("Windows-1252") code> strong>. using (var writer = new StreamWriter(fileName,false,Encoding.GetEncoding("Windows-1252"))
{
....
}
0xc2 0xb0 code>) et interprétez chaque octet en tant que caractère de latin-1 ou de Windows-1252. Existe-t-il une option pour l'encodage d'entrée lorsque vous faites votre importation? LI>
- (moins probable) Excel fait la bonne chose, mais vous codez à double codage de vos données (encodage comme UTF-8, puis à la ré-interprète comme un codage de 8 bits et un codage à nouveau em > comme UTF-8 ou tout autre codage unicode). Notepad ++ Les preuves sont contre celui-ci. Li>
ol>
@Hobbis: OK, cependant, l'original est dans Excel, et ce personnage "Â" spécial n'est pas présent
Tripping rond Les données pourraient introduire le caractère supplémentaire si vous convertissez la page de code de NOT-UTF8 en UTF8.
Le caractère de degré est 0xB0 dans Windows-1252, IBM-437 et ISO latin 1. Lorsque cela est codé dans UTF-8, le 0xB0 devient 0xc2 0xB0. Il semble que Excel lise cela comme "ANSI" par défaut. Lorsque vous importez les données, vous pouvez le dire à UTIF-8 explicitement en sélectionnant «l'origine du fichier» - au moins c'est ce qu'il était dans Excel 2003.
Ou, comme le souligne Philippe Leybaert, vous pouvez simplement écrire le fichier avec un codage Windows-1252 au lieu de UTF-8, tant que vous n'essayez pas d'utiliser des caractères indisponibles dans ce codage.
Vous pouvez utiliser BOM UTF-8 pour votre fichier. P>
Réglage explicitement Le format de flux de sortie sur UTF8 corrigera le problème dans Excel. var sw = nouveau system.io.streamwriter (fs, coding.utf8)