Avatar billede madsmm Nybegynder
04. april 2006 - 11:28 Der er 10 kommentarer og
1 løsning

Problem med forskellige sprog i PHP+MySQL

Hej,

Jeg har et system, som har data i forskellige sprog, som f.eks. dansk, engelsk, tysk, græsk, kinesisk, kroatisk osv.

Der er ingen problemer med dansk, engelsk og tysk, men hvis vi f.eks. har fat i græsk, så er der store problemer med dataen.

Lad mig komme med et eksempel:

Jeg har noget græsk i en mysql tabel, hvor tabel og feltet benytter latin1 (latin1_swedish_ci) og den volapyk der står i feltet virker fint, hvis det bliver outputtet på en webside med ISO-8859-7.
Samtidig har jeg noget græsk data i en tabel, hvor tabel og feltet OGSÅ benytter latin1 (latin1_swedish_ci), men dataen virker kun korrekt med encoding UTF8.

Og det jeg gerne vil have klaret, er at alt min græske tekst skal virke med UTF8, men jeg kan ikke få den fra den ene tabel til den anden og stadig komme med det korrekte output.

Jeg håber virkelig der er en eller anden derude der kan hjælpe mig på rette spor.

På forhånd MANGE tak!

Jeg håber mit problem er til at forstå, ellers spørger i bare og så skal jeg komme med yderligere forklaringer.

Mads
Avatar billede madsmm Nybegynder
04. april 2006 - 11:31 #1
Begge steder i DB'en er det VARCHAR(255)
Avatar billede coderdk Praktikant
04. april 2006 - 15:04 #2
Kan du ikke bruge mb_convert_encoding: http://dk.php.net/mb_convert_encoding ?
Avatar billede madsmm Nybegynder
04. april 2006 - 15:09 #3
Fatal error:  Call to undefined function:  mb_convert_encoding()

det lader ikke til den er tilgængelig.
Avatar billede coderdk Praktikant
04. april 2006 - 15:28 #4
Så har du ikke multi-byte string extensionen installeret http://dk.php.net/manual/en/ref.mbstring.php :(
Avatar billede madsmm Nybegynder
04. april 2006 - 15:31 #5
nej, det ser ikke sådan ud, hvad gør jeg så? (hvis ikke jeg kan få den installeret)
Avatar billede coderdk Praktikant
04. april 2006 - 15:38 #6
Hmm det kan være at du kan bruge en UNIX util, hvis den er installeret, prøv:

<?php echo "<pre>"; passthru("recode"); echo "</pre>"; ?>
Avatar billede madsmm Nybegynder
04. april 2006 - 15:42 #7
det melder ikke fejl, men output bliver kun:

<pre></pre>
Avatar billede coderdk Praktikant
04. april 2006 - 16:19 #8
Så har er der ikke recode på serveren, eller også har du ikke rettigheder til at eksekvere den :(
Avatar billede madsmm Nybegynder
05. april 2006 - 11:15 #9
fandt frem til en lille ting der hed iconv("ISO-8859-7", "UTF-8", GRÆSK STRENG)

og det virkede sgu... fantastisk
Avatar billede coderdk Praktikant
05. april 2006 - 16:19 #10
Skide godt :) Så kan du bare tage pointene selv, hvis der ikke er mere :)
Avatar billede madsmm Nybegynder
06. april 2006 - 08:20 #11
det gør jeg så, men tak, du fik mig da til at kigge nærmere efter i hvad der ellers fandtes af små tools..
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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