<Name=Dave t="Owner(e.g pete’s)">
Это не XML, '=' недопустимо для имени тега. Если это должен быть атрибут, его нужно заключить в кавычки. Он также не определен и не имеет декларации XML; если это то, что вы пытаетесь вывести, вы не выводите XML. Символ ’допускается как в атрибутах UTF-8, так и в значениях атрибутов XML.
System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
var docX = encoding.GetBytes(vdd.ToString());
docX
- это байтовый массив байтов UTF-8 в vdd
. Если vdd
содержит какие-либо точки, отличные от Unicode, они будут отброшены.
System.IO.StreamWriter s = new StreamWriter(pathAndFileName, false, encoding);
Вы открываете выходной поток в кодировке UTF-8, достаточно справедливо ...
string myString = encoding.GetString(docX);
Теперь вы конвертируете массив в кодировке UTF-8 обратно в строку C #. Почему?
s.Write(myString);
Теперь вы записываете строку C # обратно в поток UTF-8, который выполняет второе преобразование UTF-8. Это не имеет смысла, пожалуйста, объясните, что вы пытаетесь достичь.
символ не анализируется во всех моих клиентских системах
Тогда ваша клиентская система не принимает UTF-8. Либо исправьте, либо выясните, какую кодировку они принимают, и используйте ее.