[總結]Asp.net中的頁面亂碼的問題

來源:互聯網
上載者:User

1.<globalization
            requestEncoding="gb2312"
            responseEncoding="gb2312" 
            fileEncoding="gb2312"
   />

或者

<META http-equiv="content-type" content="text/html; charset=gb2312">

如果還不行 加上語言文化culture
.<globalization
            requestEncoding="gb2312"     responseEncoding="gb2312"         fileEncoding="gb2312"  culture="en-AU"
   />
en-AU 是澳洲的語言文化編碼

2.下載檔案時指定檔案名稱,中文的檔案名稱出現了亂碼?

Response.AddHeader("Content-Disposition", "attachment; filename="+HttpUtility.UrlEncoding(filename.ToString ()));

 

3.如何識別字串中是否包含韓文

http://search.csdn.net/Expert/topic/2456/2456407.xml?temp=.5485498

如果只有英文和韓文
/*******該函數返回字串中除英文外的字元*********/
create function test(@a varchar(20))
returns varchar(20)
as
begin
   declare @b varchar(20),@i int
   set @b = ''
   set @i = 1
   while @i<= len(@a)
   begin
       if Upper(substring(@a,@i,1)) not between 'A' and 'Z'
           set @b = @b + substring(@a,@i,1)
 set @i = @i+1
   end
   return @b
end

Select dbo.test('aabc12dsa451')

                    
--------------------
12451

(所影響的行數為 1 行)
--1.有關多國文字的,一定要用UNICODE判斷!
--2.韓文UNICODE分兩斷: 12592->12687  44032->55203
相關網站:http://www.buja.8u8.com/eeeeee.htm

create function hw(@str Nvarchar(100))
returns int
as
begin
declare @a int
set @a=0
while @str<>'' and @a=0
  begin
  set @a=(case when unicode(left(@str,1)) between 12592 and 12687
                 or unicode(left(@str,1)) between 44032 and 55203
               then 1
               else 0 end)
  set @str=right(@str,len(@str)-1)
  end
return @a
end 

--調用:
declare @a nvarchar(100)
set @a=N'abc中&#44035;國123'
select dbo.hw(@a)

--return: 1

set @a=N'abc中國123'
select dbo.hw(@a)

--return: 0

 

4.為什麼檔案讀出來的中文字元是亂碼?

System.IO.StreamReader m_fs = System.IO.File.OpenText(Hfile_SelectFile.Value);
改為
System.IO.StreamReader m_fs = new System.IO.StreamReader(Hfile_SelectFile.Value,System.Text.Encoding.GetEncoding("gb2312"));

5.JMAIL 發郵件附件或者沒有或者在本文中是亂碼

http://community.csdn.net/Expert/topic/3172/3172047.xml?temp=.3463404

6.怎麼解決查詢字串中文亂碼問題?

查詢內容用Server.UrlEncode編碼

string url ="http://localhost/test/test.aspx?a="+ Server.UrlEncode("張三");

-->Server.UrlDecode()

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.