webForumDet fria alternativet

Får bara ut en sträng med siffror/bokstäver från mySQL

Databaser & SQL

11 svar · 610 visningar · startad av bigsky

Medlem sedan maj 2002821 inlägg
Frågan#1

Jag har en mySQL databas som jag hämtar info från en tabell (TEXT) med. Men trots att innehållet jag vill hämta är en text får jag bara ut en lång sträng med siffror/bokstäver. Jag använder asp.

Set rsGetPages = oConn.Execute("SELECT * FROM tblPages WHERE PageId = " & Request.QueryString("lnkid") & " ")
If Not rsGetPages.EOF Then
strPageContent = rsGetPages("PageContent")

strPageContent blir som sagt bara en lång rad med siffror/bokstäver. Hur lösa?

Medlem sedan mars 20041 505 inlägg
#2

Vad är PageContent för datatyp?
Det låter som det är någon form av binär data.

Medlem sedan maj 2002821 inlägg
#3

Japp, det är vanlig text.

Medlem sedan dec. 20025 483 inlägg
#4

Du har inte Base64-kodat texten innan den skickades in i tabellen (så att du måste avkoda texten då du läser ut den)?

Medlem sedan maj 2002821 inlägg
#5

Nej, det jag får ut är "D205472E46467E572643A20526F6E64656C6C2028466F6E74E46E2F42656C79736E696E673A204A756C612C205374656E3A2...".
Det fungerar bra om jag byter datatyp i mysql till t ex. VARCHAR, men ett sådant fält kan ju inte spara lika mycket text. Jag behöver använda ett fält som klarar mer än 255 tecken eftersom det är innehållet på varje sida som ligger i PageContent.

Medlem sedan juli 200012 978 inlägg
#6

Ser ju ut som en Hexsträng!

Medlem sedan maj 2002821 inlägg
#7

Precis, men varför? Uppenbarligen beror det på dataypen i mysql, måste man konfigurera TEXT/BLOB fält på något särskilt sätt?

Medlem sedan mars 20007 896 inlägg
#8

Nej, men en BLOB-fält hanterar binär data och ett TEXT-fält hanterar icke-binär data. Har du ett BLOB-fält, ligger problemet troligtvis där. (Man kan sätta attributet 'binary' på TEXT-fält också, vilket du inte borde göra/ha gjort?).

Medlem sedan mars 20025 907 inlägg
#9

Är datatypen text eller blob? Det är rätt stor skillnad på de två typerna. :)

Medlem sedan maj 2002821 inlägg
#10

Det är TEXT-datatyp. Har försökt bocka för binary också men det verkar inte vilja fasta, men det kanske inte är viktigt.

Medlem sedan dec. 20025 483 inlägg
#11

Det kanske har att göra med vilket character set som kolumnen är definierad som (t.ex. utf8) samt i vilket format texten sparas.

Medlem sedan maj 2002821 inlägg
#12

Se där! Ändrade från latin1_swedish_ci till utf8_swedish_ci och det fungerade bra. Vad är att föredra vad det gäller "Kollationering"?

262 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)