webForumDet fria alternativet

UTF-8 encode i MySQL

Databaser & SQLur Databashanterare & SQL

2 svar · 1 082 visningar · startad av Jester73

Medlem sedan mars 2012121 inlägg
Frågan#1

Hej

Min databas har utf-8_swedish_ci med data importerad från en konverterad MS Access databas.

Har precis börjat leka med Netbeans och konverterade alla filer till UTF-8 från ISO-8571-1 (osäker på koden men windows motsv).

Hur kommer det sig att text i databasen visar det vanliga romb-frågetecknet när jag tittar på hemsidan istället för å ä och ö men när jag kör phpMyadmin så visas de korrekt.

Hur kan jag konvertera textsträngarna i databasen till UTF-8?

Medlem sedan mars 2006296 inlägg
#2

Hej!

Kontrollera att du inte har kvar en meta charset med gamla ISO-8271-1 i filerna.
Sedan kan du med mysql sätta vilken charset svaren från databasen ska ha.

mysqli exempel

$mysqli = new mysqli("localhost", "my_user", "my_password", "test");
mysqli_set_charset($link, "utf8")

PDO (från php 5.3.6)

$dbh = new PDO("mysql:"mysql:host=$host;dbname=$db;charset=utf8"",  $user, $password);

mysql

mysql_query ('SET NAMES utf8');
Medlem sedan mars 2012121 inlägg
#3

Det visade sig att jag kunde ändra tecknet via mitt egna gränssnitt och som tur var det inte många poster.

Dock så blev ju nu tecknen helt knasiga i phpMyAdmin, men det spelar ju mindre roll :)

130 ms totalt · 3 externa anrop · v20260731065814-full.9823c0c5
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)