Avatar billede para7 Nybegynder
01. juni 2010 - 10:02 Der er 3 kommentarer og
1 løsning

Visning af danske æøå driller

Jeg har lavet en test. Vil først lige sige at jeg har sat alt til utf-8. MYSQL database og tabel er via HEIDISQL sat til utf-8. Min HTML side er gemt med EditPlus som utf-8 og der er utf-8 meta på siden. Men stadig får jeg bare udskrevet firkanter. Hvis jeg indsætter charset=windows-1252, så vises sidens æøå simulerede, men æøå fra databasefeltet korrekt. (Jeg vil helst køre ren utf-8)

Min side:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE>Test</TITLE>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<BODY>
<?php
    include("assets/dbconn.php");
    if (! $link)
    die(mysql_error());
    mysql_select_db($db , $link)
    or die("Couldn't open $db: ".mysql_error());
    $sql = "SELECT * FROM projects";
    $result = mysql_query($sql)
    or die("SELECT Error: ".mysql_error());
    if ($row = mysql_fetch_array($result)) {
        do {
            ?>
                Testing sidens danske tegn: <br>ÆØÅæøå.<br>
                Testing danske tegn fra mysql longtext felt: <br>
                <?php echo $row["description_cs"]?>
            <?php
        } while($row = mysql_fetch_array($result));
    }
    mysql_close($link);
    ?>
</body>
</html>


Mit output på localhost, Windows 7 med Wampserver:

Testing:
ÆØÅæøå.
Testing fra mysql longtext felt:
Her er danske tegn: &#65533;&#65533;&#65533;&#65533;&#65533;&#65533;
Avatar billede para7 Nybegynder
01. juni 2010 - 12:25 #1
Har læst man skulle kunne bruge SET NAMES 'utf8' men hvordan indsættes det?
Avatar billede public2 Nybegynder
01. juni 2010 - 16:19 #2
Kan du ikke kører SQLen:

ALTER TABLE `my_table`  DEFAULT CHARACTER SET utf8 COLLATE utf8_bin ???
Avatar billede para7 Nybegynder
01. juni 2010 - 22:02 #3
Tak for tippet, jeg havde godtnok gjort det i forvejen. Det hjalp heller ikke noget. Har leget med at konvertere også felterne til utf8_bin. Prøvede også at sætte det danske felt til danish_ci uden held. Stadig lokalt vises symbol med spørgsmålstegn og remote vises firkanter i stedet for æøå. Internet Explorer og Firefox.
Avatar billede para7 Nybegynder
02. juni 2010 - 06:56 #4
Fandt selv løsningen: http://webcollab.sourceforge.net/unicode.html

When connecting to MySQL with PHP, you should tell MySQL, what character set to expect by using two commands:

mysql_query( "SET NAMES utf8", $database_connection );mysql_query( "SET CHARACTER SET utf8", $database_connection );

Det løste problemet.
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
Computerworld tilbyder specialiserede kurser i database-management

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