Avatar billede artico Novice
15. juni 2010 - 13:00 Der er 10 kommentarer og
1 løsning

SOAP-ERROR: Encoding: string

Jeg får en fejl:
SOAP-ERROR: Encoding: string 'Indk\xf8...' is not a valid utf-8 string

på denne sætning:

$notatet = htmlspecialchars(trim("$row[faktura_notat]"));
$this->client->CurrentInvoice_SetTextLine1(array('currentInvoiceLineHandle' => $CurrentInvoiceLineHandle, 'value' => $notatet));

Er der nogen der har et bud på en rigtig Encoding?
Avatar billede showsource Seniormester
15. juni 2010 - 13:06 #1
Måske hvis du dropper htmlspecialchars()

Er data gemt som utf8 i db ?
Og er din php fil også gemt som utf8 ?
Avatar billede artico Novice
15. juni 2010 - 13:30 #2
Hej igen, jeg har prøvet uden htmlspecialchars() men så døde siden?

Database:
MySQL Tegnsæt: UTF-8 Unicode (utf8)

Feltet med teksten

`faktura_notat` longtext collate latin1_danish_ci NOT NULL,

PHP siden:
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">

Sådan ser det ud?
Avatar billede showsource Seniormester
15. juni 2010 - 13:35 #3
Feltet skal også være utf8
Dit metatag skal også være utf8 og din fil skal også gemmes som utf8
Avatar billede showsource Seniormester
15. juni 2010 - 13:38 #4
Og jeg ville bruge:

mysql_set_charset("utf8",$conn) or die (mysql_error());

før jeg afvikler en query.
( $conn er connect til db )

Html:
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
Avatar billede artico Novice
15. juni 2010 - 13:56 #5
OK, men hvad gør jeg så med visningen af tekster på selve siden, for  der er ÆØÅ jo bl. smuttet ?
Avatar billede showsource Seniormester
15. juni 2010 - 14:59 #6
Fra start til slut, skal alle docs og db være utf8
Så burde du ikke få nogle problemer.
Avatar billede artico Novice
15. juni 2010 - 15:13 #7
HMM, jeg har underlige tegn istedet for æøå, "vis kilde" ser således ud:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >

.... o.s.v  </head>

Er der noget glat her ?
Avatar billede artico Novice
15. juni 2010 - 15:28 #8
OK, det ser ud til at det kun er æøå der kommer fra Databasen der gir problemos, du skriver at løsningen er:

mysql_set_charset("utf8",$conn) or die (mysql_error());

Men jeg har en include med database connection først på alle sider, kan jeg så bare droppe $conn ?
Avatar billede showsource Seniormester
16. juni 2010 - 12:34 #9
Det er også andre special tegn der vil være et problem.

Om det løser dit problem kan jeg ikke sige.

Og ja, du kan godt slette $conn
Avatar billede mike1963 Nybegynder
25. juni 2010 - 14:57 #10
Den er helt gal her ...
1 byte tegnsæt som ISO-8859-1 må ikke forveksles med utf-8
som kan være op til 4 byte per symbol.

Som jeg ser det, så skal alle kilder være samme encoding ellers sker der hele tiden fejl, fordi man ikke er opmærksom på editorernes encoding muligheder.

du kan skrive &#xf8; som er lille ø - det er en escape sekvens og kan bruges i xml/html sammenhæng

Fejlen er at I deklarer utf-8 hvor det ikke er det og omvendt
Avatar billede showsource Seniormester
25. juni 2010 - 15:53 #11
Som sagt:
"Fra start til slut, skal alle docs og db være utf8"
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester