Vraagteken bij karakterset utf-8

Status
Niet open voor verdere reacties.

Frenske123

Terugkerende gebruiker
Lid geworden
2 jul 2007
Berichten
1.260
Ik ga hier maar ff verder..

In het gastenboek wordt de umlaut bijv. ö goed weergeven

Ik heb ook nog een index pagina waar alleen het laatste bericht van gastenboek wordt weergegeven

Hier komt echter in plaats van de umlaut code een vraagteken? dit ? staat ook in de broncode , zou iets moeten zijn als
ö voor ö

char set is beiden UTF-8 , en de database is uiteraard ook hetzelfde.

Mischien moet ik de database configuratie nog iets meegeven?

Kom niet tot een oplossing.
 
Laatst bewerkt:
Wat voor vraagteken? Zoals dit: ? of een zwart ruitje met een vraagteken?
Hoe staat je collatie ingesteld?
En geef je na je connectie wel een charset mee?
 
Laatst bewerkt:
Juist een zwart ruitje met een vraagteken

Voor het overige heb ik geen specifieke instellingen gemaakt .
 
Dan zal je er iets hiervan ontbreken:

- Juiste characterset voor je bestand als document
- UTF-8 header in PHP
- Karakterset na je connectie.
- Je collatie in je database van je tabellen en velden.

Als hier iets mist, dan zal je zo'n ruitje met een vraagteken zien.

maar als het op de ene pagina werkt, en de andere niet, dan is het uitzoeken wel snel gebeurt.

Op deze manier werkt mijn site op UTF-8:
De collatie in de database is: utf8mb4_unicode_ci (dan kan je ook emoji's gebruiken).
PHP:
<!DOCTYPE html>
<html>
    <head>
        <!--<meta charset="iso-8859-1">-->
        <meta charset="UTF-8">
        <title>Website to UTF-8</title>
    </head>
    <body>
        <?php
        header('Content-Type: text/html; charset=utf-8');
        #header('Content-Type: text/html; charset=iso-8859-1'); // oud
        $servername = "localhost";
        $username = "root";
        $password = "";
        $database = "nieuws";
        
// Create connection
        $conn = new mysqli($servername, $username, $password, $database);
        $conn->set_charset("utf8mb4");
        

// Check connection
        if ($conn->connect_error) {
            die("Connection failed: " . $conn->connect_error);
        }
        echo "Connected successfully";
        
        $sql = "SELECT id,title,prologue,message FROM news ORDER BY id DESC LIMIT 10";
        $result = $conn->query($sql);
        while($data = $result->fetch_assoc()) {
            echo "<h1>".$data['title']." (".$data['id'].")</h1>
                    <p>".$data['prologue']."</p>
                    ";
        }
        
        ?>
    </body>
</html>
Regel 4 en 11 die uit-gecomment zijn waren de oude situatie zonder de set_charset() op lijn 19.
 
Laatst bewerkt:
Beste Aar,

Bedankt , dit maakt het nu werkend bij mij

PHP:
$mysqli->set_charset("utf8mb4");

:thumb:

overigens,
Krijg nu in mijn pagina met jou code in broncode

schönen

En in org. gastenboek
sch&ouml;nen

Maar werkt......
 
Laatst bewerkt:
Als je entities krijgt zoals &ouml; voer je een extra (onnodige) bewerking uit.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan