Forum » Programiranje » MSSQL UTF-8 in šumniki
MSSQL UTF-8 in šumniki
biasko ::
Živjo!
Spletna stran in microsoftova baza je nastavljena na UTF-8.
V bazi šumniki izgledajo takole: Å¡ Ä Å¾ Å ÄŒ Ž = š č ž Š Č Ž
Na straneh mi lepo izpisuje, amapk težava nastane ko uporabim iskalnik, ki ga imam na spletni strani. Preko forme se prenesejo pravi znaki, ampak SQL stavek ne najde nič. čeprav beseda obstaja.
Če iščem besedo brez šumnikov lepo deluje.
Hvala!
lp
Spletna stran in microsoftova baza je nastavljena na UTF-8.
V bazi šumniki izgledajo takole: Å¡ Ä Å¾ Å ÄŒ Ž = š č ž Š Č Ž
Na straneh mi lepo izpisuje, amapk težava nastane ko uporabim iskalnik, ki ga imam na spletni strani. Preko forme se prenesejo pravi znaki, ampak SQL stavek ne najde nič. čeprav beseda obstaja.
Če iščem besedo brez šumnikov lepo deluje.
Hvala!
lp
kunigunda ::
Iskalnik, ki dela v browserju, ima svoj enkodiranje, eni imajo Latin, eni UTF, poglej nastavitve. Sicer bos moral v skripti
za iskanje prekonvertirati v utf8 predno gres v bazo.
za iskanje prekonvertirati v utf8 predno gres v bazo.
biasko ::
stran ima nastavljeno
V bazi so znaki: ?? Ä ? 3/4 ? ÄOE ? 1/2
Ko preko form iščem naredim izpis iskanega niza ki ravno tako vsebuje te znake ?? Ä ? 3/4 ? ÄOE ? 1/2 . Tako da mi ni jasno zakaj jih ne najde.
Na forem sem ravno tako poskusil dodati, da so znaki ki jih prejme utf-8 ampak ne spremeni.
Nevem kaj naj še poskusim.
Hvala!
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />, isto sama datoteka .asp je kodirana z utf-8
V bazi so znaki: ?? Ä ? 3/4 ? ÄOE ? 1/2
Ko preko form iščem naredim izpis iskanega niza ki ravno tako vsebuje te znake ?? Ä ? 3/4 ? ÄOE ? 1/2 . Tako da mi ni jasno zakaj jih ne najde.
Na forem sem ravno tako poskusil dodati, da so znaki ki jih prejme utf-8 ampak ne spremeni.
Nevem kaj naj še poskusim.
Hvala!
kunigunda ::
1. preveri v skripti, ali res dobis notri utf8 (izpisi bajte na ekran)
2. preveri v klientu baze (v tvojem primeru library - connect), v kaksnem encodingu bo posiljal serverju
mysql verzije se razlikujejo med sabo, pri 4.0 ni bilo avtomatskega enkodiranja ipd.
2. preveri v klientu baze (v tvojem primeru library - connect), v kaksnem encodingu bo posiljal serverju
mysql verzije se razlikujejo med sabo, pri 4.0 ni bilo avtomatskega enkodiranja ipd.
biasko ::
uporabljam MS SQL - prvič v življenju in se mi ne posveti ;)
Kako bi zadevo rešil z parametri?
hvala!
Kako bi zadevo rešil z parametri?
Set result= Server.CreateObject("ADODB.Recordset") sqltekst="SELECT ... WHERE ime LIKE @parameter" result.Open sqltekst, strConnection
hvala!
Looooooka ::
Ce je baza nastavljena na UTF8 to se ne pomeni, da bo vse kar si napisat not magicno pravilno.
Ti moras na spletni strani ze gledat, v kaksnem formatu dobis tekst preden ga napises v bazo...in poskrbet, da bo pravilno zapisan v bazo.
In potem pri prikazovanju spet predvidevat, da iz baze res dobiras pravilno kodiran utf-8 text, ki ga lahko potem kot utf-8 prikazes na spletni strani.
Ce ga kjerkol vmes poserjes potem bo pac problem.
a je kksn poseben razlog, da leta 2012 delas v aspju? :D
Ti moras na spletni strani ze gledat, v kaksnem formatu dobis tekst preden ga napises v bazo...in poskrbet, da bo pravilno zapisan v bazo.
In potem pri prikazovanju spet predvidevat, da iz baze res dobiras pravilno kodiran utf-8 text, ki ga lahko potem kot utf-8 prikazes na spletni strani.
Ce ga kjerkol vmes poserjes potem bo pac problem.
uporabljam MS SQL - prvič v življenju in se mi ne posveti ;)
Kako bi zadevo rešil z parametri?
Set result= Server.CreateObject("ADODB.Recordset")
sqltekst="SELECT ... WHERE ime LIKE @parameter"
result.Open sqltekst, strConnection
hvala!
a je kksn poseben razlog, da leta 2012 delas v aspju? :D
Zgodovina sprememb…
- spremenilo: Looooooka ()
kunigunda ::
Sem ti ze povedal, najprej preveri, ali notri res dobis utf8. Razdeli string po bajtih in jih daj na ekran.
carota ::
MSSQL ne podpira neposredno UTF-8. Polja morajo biti tipa NVARCHAR/NCHAR, Collation pa nastavljen za pravi jezik in ali naj bo case sensitive ali ne (se mi zdi). Preveri Collation polj in baze.
biasko ::
Ja to je stara reč;)
Ha, sedaj ugotovim da je baza Latin1_General_CI_AS
Sedaj ko sem to odkril se mi je spet odprlo nekaj možnosti.
Hvala usem.
Ha, sedaj ugotovim da je baza Latin1_General_CI_AS
Sedaj ko sem to odkril se mi je spet odprlo nekaj možnosti.
Hvala usem.
biasko ::
rešeno
težava je bila:
SearchKey = server.HTMLEncode((request.Form("SiteSearchKey")))
tole pa deluje:
SearchKey =request.Form("SiteSearchKey")
;)
hvala!
težava je bila:
SearchKey = server.HTMLEncode((request.Form("SiteSearchKey")))
tole pa deluje:
SearchKey =request.Form("SiteSearchKey")
;)
hvala!
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [php] encoding nizaOddelek: Izdelava spletišč | 3790 (1705) | BivšiUser2 |
» | Java - Problem zarad šumnikov pri SQLOddelek: Programiranje | 1603 (1354) | DiTi |
» | MySQL in czsOddelek: Izdelava spletišč | 3601 (2691) | krho |
» | ASP problemček (MDB)Oddelek: Izdelava spletišč | 944 (865) | AndrejS |
» | asp+access problemOddelek: Izdelava spletišč | 1059 (990) | appz |