 <p>Your code does essentially the same as:</p> <pre><code>SqlString dbString = resultReader.GetSqlString(0); string outputString = dbString.ToString(); </code></pre> <p><code>string</code> itself is a UNICODE string (specifically, UTF-16, which is 'almost' the same as UCS-2, except for codepoints not fitting into the lowest 16 bits). In other words, the conversions you are performing are redundant.</p> <p>Your web app most likely mangles the encoding somewhere else as well, or sets a wrong encoding for the HTML output. However, that can't be diagnosed from the information you provided so far.</p>