![]() |
Suttit och blivit galen över problem med åäö. Provat med båda latin-1 samt utf-8 på databas men problemet är när man hämtar datan och ska pilla in i DOMDocuemnt. Den gillar inte alls åäö utan klagar.
Det fungerar dock om man kör utf8_enocde på datan innan man stoppar in den i DomDocumentet. Varför fungerar detta och inte när man har utf-8 överallt annars? Känns väldigt obra sitta anropa utf8_enode överallt där man har text. Följande testkod körs: Kod:
<?php |
DOMdocuments textmetoder förväntar sig 'utf-8' som inparameter. Alltså måste du alltid se till att det du skickar in är i 'utf-8'.
Det låter inte som du lyckats få till Citat:
Prova att ändra mysql teckenuppsättning med nedanstående innan du skickar din SELECT, då borde du få 'utf-8' tillbaka. mysql_query('SET character_set_results=utf8;'); mysql_query('SET character_set_client=utf8;'); mysql_query('SET character_set_connection=utf8;'); Ett annat tips; Använd "mysql_real_escape_string($_GET['data'])", så slipper du problem om GET-variabeln innehåller t.ex. "Anders 'Bullen' Olsson" |
Fungerade perfekt!
Vilka filer ska man ändra så man får det fungera så man slipper köra dessa tre SQL-satser för varje mysql-anslutning?. Har sparat dessa inställningar i /etc/mysql/my.cnf men det funkar dock inte. Några idéer? Sql injections känner jag till, det var bara en test och orkade inte skriva de extra tecknena. |
Jag vet inte säkert och har ingen burk att proba på där jag sitter just nu, men testa
[mysql] default-character-set=utf8 kan gå... |
Alla tider är GMT +2. Klockan är nu 15:17. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson