G
Guest
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
%>
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
%>