Alternativ til utf8_encode() ved indsættelse af data i MySQL
Hej Eksperter,
Har lige haft en del problemer med at få converteret alle mine gamle sider til UTF-8. Det har jeg løst nu med et lille script og iconv. Men nu er problemet så når jeg vil til at indsætte data i min nye database.
Det data jeg smidder ind lige nu ryger ind i MySQL som ISO-8859-1. Det skal det jo ikke, det skal være utf8. Så kan jeg vælge at bruge utf8_decode og encode på alt in/output, det gidder jeg bare ikke! Er der ikke et sted man kan sætte det så den som standard tager det hele som utf8 encoded?
Har sat defaultcharset til utf8 både i php.ini og apache2.conf. Hvad er det jeg misser/eller ikke forstår?
Hvor kommer de data, du kommer i DB'en fra? Hvis de ankommer i utf-8, burde det ikke give problemer. Er det dokument, du prøver at indsætte data med, gemt som utf-8 eller ANSI?
De data der er fx. fra et ganske alm. php script som er utf8 encoded. Selv hvis jeg bruger PAM til at indsætte data uanset hvilken kollation jeg bruger så bliver det indsat som ISO-8859-1 dvs hvis jeg encoder db indholdet med utf8_encode så bliver det vist korrekt.
Under variabler for hele min MySQL database i PAM fandt jeg det her:
Server-variabler og indstillinger Variabel Sessionsværdi / Global værdi auto increment increment 1 auto increment offset 1 automatic sp privileges ON back log 50 basedir /usr/ binlog cache size 32,768 bulk insert buffer size 8,388,608 character set client utf8 (Global værdi) latin1 character set connection utf8 (Global værdi) latin1 character set database latin1 character set filesystem binary character set results utf8 (Global værdi) latin1 character set server latin1 character set system utf8 character sets dir /usr/share/mysql/charsets/ collation connection utf8_unicode_ci (Global værdi) latin1_swedish_ci collation database latin1_swedish_ci collation server latin1_swedish_ci
jeg undrer mig lidt over character set server = latin1 og at collation står til latin1_swedish_ci?
Problemet er nu kun i PHPMyAdmin når jeg vil indsætte data herfra, bliver det stadig indsat som latin1. Jeg er klar over at jeg kan lade være med at bruge PMA, men det er nu meget rart at kunne sætte data ind, derfra lidt hurtigt en gang imellem.
Kollationen på tabellerne/felterne, mener jeg, du kan se/sætte i PMA. Jeg bruger selv et andet program, så PMA ligger lidt fjernt i hukommelsen :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.