Zweedse letters åäö werken niet

Status
Niet open voor verdere reacties.

lord4163

Banned
Lid geworden
17 dec 2007
Berichten
3.155
Hallo,

Zit al enige tijd met het probleem dat MySQL niet de Zweedse letters begrijpt, ik heb de charset al op utf8_swedish_ci staan en ook in het PHP script met
Code:
mysql_set_charset('utf8_swedish_ci');
Weet iemand hoe ik de letters kan weergeven?

Alvast bedankt,
Fabian
 
Heb je gecontroleerd of ze wel goed doorkomen in de encoding voordat het de database ingaat? UTF-8 bevat deze tekens volgens mij al met de standaard encoding in mysql. Kan me niet voorstellen dat het die setting is. Als ik met de hand de tekens invoer via phpadmin in de standaard encoding werkt het prima.
 
Ja het werkt in PHPMyAdmin ;)

Code:
root@Fabian-PC:/var/www/scripts# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 54
Server version: 5.5.24-0ubuntu0.12.04.1 (Ubuntu)

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> use meubels
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> SHOW TABLES;
+-------------------+
| Tables_in_meubels |
+-------------------+
| meubels           |
+-------------------+
1 row in set (0.00 sec)

mysql> SELECT * FROM meubels;
+----+-----------+----------------------------+---------+---------------+
| id | naam      | beschrijving               | prijs   | afbeelding    |
+----+-----------+----------------------------+---------+---------------+
|  1 | Kökssofa  | Zweedse grijze keukenbank. | 2750,00 | /images/1.JPG |
+----+-----------+----------------------------+---------+---------------+
1 row in set (0.00 sec)

mysql>
 
Laatst bewerkt:
Dus ligt het waarschijnlijk niet aan MySQL maar aan PHP. Of eventueel een mysql DBMS erboven.

in php:
PHP:
mb_internal_encoding("UTF-8");
in SQL
[sql]
SET NAMES 'utf8'
[/sql]

En het zou moeten werken zonder extra encoding.
 
PHP:
mysql_select_db('MYTest'); 
mysql_set_charset("UTF8",$link); 
$test = "rögänå";
$sqlq = "insert into klanten values (5, '" . $test . "')";
$query = mysql_query($sqlq);

dit heb ik een in mijn eigen database gegooid en het werkt zoals verwacht.
 
Staat de HTML output wel juist? via Chrome (of firefox) even kijken wat de output geeft. Voor helpmij:

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

ISO-8859-1 bevat alle tekens en die zou geen vraagtekentje moeten geven, maar mogelijk gaat er bij jouw site toch ergens een vertaling fout.
 
Die staat op utf-8 en kan ook gewoon de letters echo'en. Dus er gaat echt iets fout bij MySQL - PHP.
 
Ik vind het vreemd. ik gebruik dus geen aparte encodings, de standaard iso lettertypes en het werkt zonder extra aanpassingen

Dus als je zoiets doet werkt het dan wel juist? :

PHP:
$link = mysql_connect('localhost','root','root');
if (!$link)
{
die('fout ' . mysql_error());
}
mysql_select_db('MYTest');
mysql_set_charset("UTF8",$link);
$query = mysql_query("select * from klanten");
while ($uitkomst = mysql_fetch_row($query))
{
print_r ($uitkomst);
echo " " . $uitkomst[1]; #juiste kolom nemen
echo '<br>';
}
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan