kelvinwkw
asked on
Insert chinese ( utf-8 charset ) into MS SQL server
Does anyone of Experts here know how to insert chinese character (utf-8 charset) into MS SQL Server 2000?
The field are of nvarchar, whenever i attempt to insert, it shows question marks ?????????
It works if i apply either
server.htmlEncode()
or
Function c2u(CnText)
For zzzz = 1 to Len(CnText)
c = Mid(CnText, zzzz, 1)
c2u = c2u & "&#x" & Hex(AscW(c)) & ";"
next
End Function
However the length of the field are fixed and the result will took more spaces
For instance,
请选择 ( 3 chinese characters )
will consume up to 24 nvarchar, thus this is not viable
On each of the asp page
<%@ CodePage = 65001 %>
<%
Response.expires = 0
Response.expiresabsolute = Now() - 1
Response.addHeader "pragma", "no-cache"
Response.addHeader "cache-control", "private"
Response.addHeader "cache-control", "no-cache"
Response.addHeader "cache-control", "no-store"
Response.CacheControl = "no-cache"
Response.CharSet = "utf-8"
%>
:
:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
I have something like this.
Thank you for the helps
Regards
Kelvin
The field are of nvarchar, whenever i attempt to insert, it shows question marks ?????????
It works if i apply either
server.htmlEncode()
or
Function c2u(CnText)
For zzzz = 1 to Len(CnText)
c = Mid(CnText, zzzz, 1)
c2u = c2u & "&#x" & Hex(AscW(c)) & ";"
next
End Function
However the length of the field are fixed and the result will took more spaces
For instance,
请选择 ( 3 chinese characters )
will consume up to 24 nvarchar, thus this is not viable
On each of the asp page
<%@ CodePage = 65001 %>
<%
Response.expires = 0
Response.expiresabsolute = Now() - 1
Response.addHeader "pragma", "no-cache"
Response.addHeader "cache-control", "private"
Response.addHeader "cache-control", "no-cache"
Response.addHeader "cache-control", "no-store"
Response.CacheControl = "no-cache"
Response.CharSet = "utf-8"
%>
:
:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
I have something like this.
Thank you for the helps
Regards
Kelvin
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
@ap_sajith
after i remove the codepage attribute i still get the ??????? instead of chinese characters
@darkeryu
Im using a store procedure for that.
given that
@username nvarchar(30)
@password nvarchar(30)
@email varchar(100)
user nvarchar(30)
pass nvarchar(30)
email varchar(100)
select @checkExist = count(*) from login where username = @username
if @checkExist = 0
begin
-- if username does not exist
insert into login(user, pass, email) values(@username, @password, @email)
select 10000 as msg
return
end
How am i suppose to dealing with it.
after i remove the codepage attribute i still get the ??????? instead of chinese characters
@darkeryu
Im using a store procedure for that.
given that
@username nvarchar(30)
@password nvarchar(30)
@email varchar(100)
user nvarchar(30)
pass nvarchar(30)
email varchar(100)
select @checkExist = count(*) from login where username = @username
if @checkExist = 0
begin
-- if username does not exist
insert into login(user, pass, email) values(@username, @password, @email)
select 10000 as msg
return
end
How am i suppose to dealing with it.
hi:
you can modify sql statement
insert into login(user, pass, email) values(N@username, N@password, N@email)
you can modify sql statement
insert into login(user, pass, email) values(N@username, N@password, N@email)
Cheers!