By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
440,965 Members | 1,757 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 440,965 IT Pros & Developers. It's quick & easy.

Cannot display Chinese data from database

P: n/a
Some chinese characters data (in Big5 encoding) is stored in database.
I tried to display the data in an aspx but the characters cannot display
correctly.
I tried anything I think is related:
- Setting the charset, codepage of the page
- changed the responseEncoding in web.config to Big5
- hardcoded Response.ContentEncoding to 950 (codepage of Big5)
- Change the file encoding to Big5 (in save option)
None of them work.

For the same data, it can displayed correctly in my classic asp.

Code (.NET)
private void Page_Load(object sender, System.EventArgs e)
{
SqlConnection connection = new
SqlConnection(ConfigurationSettings.AppSettings["NewsDB"]);
SqlCommand command = new SqlCommand();
command.Connection = connection;
command.CommandText = "SELECT Newsid, StoryDate, StoryTime, Headline
FROM tblLatestHeader";
command.CommandType = CommandType.Text;

SqlDataReader dataReader;
connection.Open();
dataReader = command.ExecuteReader();
string html = "";
while (dataReader.Read())
{
html += dataReader[3].ToString();
}
connection.Close();
Label1.Text = html;
Label2.Text = "*好嗎"; // this is chinese character which can display
correctly
}
Work in classic asp:
<%
Set connection = Server.CreateObject("ADODB.Connection")
connection.ConnectionString = "Provider=sqloledb;Data Source=MyDB;Initial
Catalog=NewsDB;User Id=sa;Password=fakepwd;"
connection.open
Set rs = connection.execute("SELECT Newsid, StoryDate, StoryTime, Headline
FROM tblLatestHeader")

While Not rs.eof
response.write rs("Headline") & "<br>"
rs.movenext
wend
%>

Nov 25 '05 #1
Share this Question
Share on Google+
1 Reply


P: n/a
Jason Chan wrote:
Some chinese characters data (in Big5 encoding) is stored in database.
I tried to display the data in an aspx but the characters cannot
display correctly.
I tried anything I think is related:
- Setting the charset, codepage of the page
The Codepage directive in ASP.NET 2.0 is the same as reponseEncoding in
web.config.
- changed the responseEncoding in web.config to Big5
- hardcoded Response.ContentEncoding to 950 (codepage of Big5)
And these are identical as well (the latter, like Codepage, works at
the page level though).
- Change the file encoding to Big5 (in save option)
That's only relevant at buildtime.
None of them work.

For the same data, it can displayed correctly in my classic asp.

Code (.NET)
private void Page_Load(object sender, System.EventArgs e)
{
SqlConnection connection = new
SqlConnection(ConfigurationSettings.AppSettings["NewsDB"]);
SqlCommand command = new SqlCommand();
command.Connection = connection;
command.CommandText = "SELECT Newsid, StoryDate, StoryTime,
Headline FROM tblLatestHeader";
command.CommandType = CommandType.Text;

SqlDataReader dataReader;
connection.Open();
dataReader = command.ExecuteReader();
string html = "";
while (dataReader.Read())
{
html += dataReader[3].ToString();
}
connection.Close();
Label1.Text = html;
Label2.Text = "*好嗎"; // this is chinese character which
can display correctly
}


If your hardcoded sample text is displayed correctly, there's quite
likely a problem with your ADO.NET provider. Are the correct characters
displayed when you debug your code right after retrieving strings from
the database?

Cheers,
--
http://www.joergjooss.de
mailto:ne********@joergjooss.de
Nov 25 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.