16. oktober 2005 - 14:31Der er
47 kommentarer og 3 løsninger
Unicode utf-8 med mysql database
Hej, jeg har endelig fået mine sider til at køre med utf-8 jubii, men nu er det så at jeg var inde og kigge i min db med phpmyadmin. Når jeg kigger i databasen, så er feks æøå skrevet som underlige tegn. Skal det være sådan? For jeg kan jo ikke rette i databasen med phpmyadmin. Er der nogen der har prøvet noget lignende?
Med version 7 af TeamShare tager Lector næste skridt og bygger en platform for AI-agenter, der i højere grad kan følge medarbejderen gennem hele arbejdsprocessen.
Dette skulle gerne være sat til utf8_general_ci. Hvis det ikke er muligt, bliver du nok nødt til at installere en seperat kopi af PMA på din server, som du så skal bruge i stedet, eller snakke med serverens administrator om en UTF-8 installation af PMA.
Det bør du hvis du har nogle text eller varchar-felter, men det skulle ikke kunne være det der er synderen her.
Må desværre meddele at jeg ikke umiddelbart kan se hvordan du så kan løse det - men du kan selvfølgelig bruge HTML-entities som æ, ø og å som en workaround.
Hvis du har mulighed for det, så prøv at åbne PMAs config.inc.php i en teksteditor. Kontroller hvad der står ved $cfg['DefaultLang'] og $cfg['DefaultCharset'].
Det er ikke sikkert det gør nogen forskel, men hellere være på den sikre side... :)
Ahh, jeg har ikke adgang til den fil, for jeg hoster ikke selv. men jeg har mulighed for at uploade php.ini fil. Og jeg har netop en linie i php.ini som siger: default_charset = "UTF-8" Brugbart? :o)
Forskellen er at nvarchar og ntext baserer størrelsen på antallet af tegn, modsat varchar og text, der bruger bytes. Med andre ord vil du ikke kunne udnytte pladesen fuldt ud med alm. varchar og text.
I så fald skal du enten spørge din host om du kan få at vide hvad de er sat til, eller også skal du prøve at uploade din egen kopi af PMA til din server. Det sidste er nok det nemmeste.
Husk dog lige at få den til at bruge login, så det ikke er enhver der lige kan få adgang ;)
> Hvis du har mulighed for det, så prøv at åbne PMAs config.inc.php i en teksteditor. Kontroller hvad der står ved $cfg['DefaultLang'] og $cfg['DefaultCharset'].
Jeg tror jeg vil spørge min host. Hvad tror du de skal stå til? $cfg['DefaultCharset'] = 'utf-8'; ? $cfg['DefaultLang'] = '???'; ?
Det er ikke så svært. Du skal blot hente PMA, ændre lidt i config.inc.php, og uploade.
Sandsynligvis er dette de eneste linier du skal rette: $cfg['Servers'][$i]['auth_type'] = 'config'; // Authentication method (config, http or cookie based)? $cfg['Servers'][$i]['user'] = 'root'; // MySQL user $cfg['Servers'][$i]['password'] = ''; // MySQL password (only needed
Du burde være sikker hvis du retter disse til: $cfg['Servers'][$i]['auth_type'] = 'http'; // Authentication method (config, http or cookie based)? $cfg['Servers'][$i]['user'] = ''; // MySQL user $cfg['Servers'][$i]['password'] = ''; // MySQL password (only needed
Den pågældende tekst optræder flere gange i filen, men det er kun den første forekomst du skal rette.
Hent phpMyAdmin 2.6.4-pl2. Hvis du vil være sikker på du ikke skal downlaode andet, ville jeg nok tage ZIP, men hvis du har WinRAR eller et andet pakkeprogram (udover WinZip eller Windows' indbyggede program), kan du lige så godt tage enten bzip2 eller gzip.
Det har ingen egentlig relevans, da du skal installere en kopi seperat fra den der allerede findes.
Det var dog muligvis en ide at kontakte din serveradministrator og høre om det er muligt at få opdateret den der allerede ligger på serveren - ingen grund til at gøre livet lettere for ondsindede folk ;)
Nej, det er kun til brug for config-indstillingen, hvor du bliver automatisk logget på når du prøver at gå ind på PMA - men det gælder uanset HVEM der går ind, så hvis der er en der finder din PMA adresse, er det ekstremt nemt for ham at gå ind og slette hele din database.
Med auth_type sat til http, skulle du blive bedt om at logge ind når du forsøger at tilgå PMA.
:o) det er jo super let :o) Jeg er ved at uploade det hele med undermapper osv og kaldt mappen med de for minside.dk/pma/ istedet for phpMyAdmin-2.6.4-pl2/ som jo er lidt tæls at skrive :o) og så regner jeg med at det kører derfra. Kan det ik passe?
Kig i de oplysninger du har fået fra din host om at koble sig op på databasen, eller kig i en af dine PHP-filer. I config.inc.php skal du rette localhost i $cfg['Servers'][$i]['host'] = 'localhost'; til den host du normalt kobler dig op på fra dine scripts.
Sørg desuden for at du nu også skriver dit login og kodeord korrekt, nogen gange er det bare det der er problemet :)
Så er der desværre ikke noget jeg kan komme på, beklager :(
Vil foreslå du lige prøver at høre med din host om han har mulighed for at ændre den PMA installation der allerede findes, eller evt. kan installere en ekstra kopi der bruger UTF-8.
Ellers er det eneste jeg kan komme i tanke om at du manuelt siger til PMA siderne at de skal bruge UTF-8 ved at højreklikke på dem hver gang og sige Tegnsæt > Unicode (UTF-8) (IE, kan ikke lige huske hvordan man gør det i Firefox). Men det er jo ikke ligefrem en holdbar løsning på længere sigt.
Du kan lige så godt fjerne den PMA installation jeg fik dig til at lave, men gem en kopi lokalt i tilfælde af at din host vil have dig til at bruge den - så slipper du for at skulle genhente :P
ps kan man ikke teste med php om der står Bøger eller Bøger i databasen. altså tjekke om det er PMA der bare viser forkert. Eller om det er noget andet galt
Nå hej igen nu har jeg fået min 'egen' PMA op at køre. :o)
Jeg får denne advarsel når jeg lige er logget ind: "PHP-udvidelsen mbstring blev ikke fundet og du ser ud til at bruge et multibyte tegnsæt. Uden mbstring-udvidelsen er phpMyAdmin ude af stand til at opdele strenge korrekt og dette kan forårsage uventede resultater."
Og når jeg kigger i mine tabeller, så er æøå stadig vist som 'A,' osv. så umiddelbart ingen ændring der :o(
Jeg har prøvet med disse løsninger: $cfg['Lang'] = 'utf-8'; i config.inc.php (så forsvandt advarslen) samt extension=php_mbstring.dll i php.ini (ingen effekt at se) Men æøå vises stadig som 'A,' osv
Hvad dælan kan jeg gøre? Please hjælp mig en eller anden :o)
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.