FAQ |
Kalender |
|
![]() |
#1 | ||
|
|||
Medlem
|
Jag har sparat både databasen och tabellerna i utf8_unicode_ci
|
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Administratör
|
Är datan korrekt i databasen? Dvs om du ansluter till databasen direkt med utf8 encoding, får du ut läsbar data?
__________________
eldefors.com - Personlig (teknik)-blogg |
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Medlem
|
Citat:
$conn = mysql_connect($host, $user, $password); mysql_select_db($db,$conn); mysql_set_charset('utf-8',$conn); För det har jag provat och det funkar inte tyvärr inte, får samma problem. |
||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Mycket flitig postare
|
I vissa fall går det inte att lita på att datat är UTF-8 även fast det borde vara det.
Jag fick lov att göra egen lösning när jag hade ett liknande problem, men i mitt fall handlade det om data som kom utifrån. Kod:
if (!is_utf8($strang)) $strang=utf8_encode($strang); function is_utf8($str) { $c=0; $b=0; $bits=0; $len=strlen($str); for($i=0; $i<$len; $i++) { $c=ord($str[$i]); if($c > 128) { if(($c >= 254)) return false; elseif($c >= 252) $bits=6; elseif($c >= 248) $bits=5; elseif($c >= 240) $bits=4; elseif($c >= 224) $bits=3; elseif($c >= 192) $bits=2; else return false; if(($i+$bits) > $len) return false; while($bits > 1) { $i++; $b=ord($str[$i]); if($b < 128 || $b > 191) return false; $bits--; } } } return true; } |
|||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Medlem
|
|||
![]() |
![]() |
Svara |
|
|