2

When i try to insert some html code into my mysql database the text is cut at the first occurrence of å, ä or ö (swedish letters). I dont know why this happends.

I run the following to ensure that the mysql connection is set up for UTF-8:

if(!mysql_set_charset('utf8', $link)) die(mysql_error());

$result = mysql_query("set names 'utf8'");

All of my php documents are coded in UTF-8. I ran mb_detect_encoding() on my string and it returned "UTF-8". My database has UTF-8 as default encoding and my tables are utf8_swedish_ci in collation (i also tried utf8_unicode_ci).

mysql returns no error. In my tables I get the part of the inserted string starting from 0 to the first occurence of a swedish char.

My insert function:

function mysql_insert($table, $inserts) {
    $values = array_map('mysql_real_escape_string', array_values($inserts));
    $keys = array_keys($inserts);

    return mysql_query('INSERT INTO `'.$table.'` (`'.implode('`,`', $keys).'`) VALUES (\''.implode('\',\'', $values).'\')');
}

If i remove the swedish letters the whole string is inserted properly.

Why is this happening?

UPDATE:

@david berra: The query is very long, but I posted it here.

INSERT 
    INTO `content` 
    (
        `text`,
        `added`,
        `updated`,
        `ref`,
        `headers`,
        `ID`,
        `groups`
    ) 
    VALUES 
    (
        '\r\n<div style=\"width: 1078.1568px;height: 785.8944px;\">\r\n <div style=\"vertical-align: top;position: absolute;z-index: -244;left: 1px;top: 0px;width: 1075px;height: 29px;\" id=\"page1block0\" class=\"building_block\">\r\n     <p>\r\n         <span>\r\n              Sida\r\n            </span>\r\n         <span>\r\n              1\r\n           </span>\r\n         <span>\r\n              . Copyright Erik Boberg\r\n         </span>\r\n     </p>\r\n    </div>\r\n  <div style=\"vertical-align: top;position: absolute;z-index: 6;left: 0px;top: 7px;width: 1075px;height: 34px;\" id=\"page1block1\" class=\"building_block\">\r\n        <h1 style=\"text-align: center;\">\r\n          <span>\r\n              Hjärtmuskelischemi\r\n          </span>\r\n     <a name=\"Hjrtmuskelischemi\"></a>\r\n      </h1>\r\n   </div>\r\n  <div style=\"position: absolute;z-index: 8;left: 153px;top: 120px;width: 443px;height: 252px;\" id=\"page1block2\" class=\"building_block\">\r\n        <img width=443 height=252 src=\"images/akuta_coronara_syndrom/image298.png\" />\r\n </div>\r\n  <div style=\"position: absolute;z-index: 9;left: 116px;top: 113px;width: 192px;height: 62px;\" id=\"page1block3\" class=\"building_block\">\r\n     <img width=192 height=62 src=\"images/akuta_coronara_syndrom/image299.png\" />\r\n  </div>\r\n  <div style=\"position: absolute;z-index: 10;left: 288px;top: 165px;width: 154px;height: 106px;\" id=\"page1block4\" class=\"building_block\">\r\n       <img width=154 height=106 src=\"images/akuta_coronara_syndrom/image300.png\" />\r\n </div>\r\n  <div style=\"position: absolute;z-index: 11;left: 227px;top: 267px;width: 72px;height: 73px;\" id=\"page1block5\" class=\"building_block\">\r\n     <img width=72 height=73 src=\"images/akuta_coronara_syndrom/image304.png\" />\r\n   </div>\r\n  <div style=\"position: absolute;z-index: 12;left: 417px;top: 225px;width: 69px;height: 73px;\" id=\"page1block6\" class=\"building_block\">\r\n     <img width=69 height=73 src=\"images/akuta_coronara_syndrom/image308.png\" />\r\n   </div>\r\n  <div style=\"position: absolute;z-index: 13;left: 437px;top: 171px;width: 69px;height: 72px;\" id=\"page1block7\" class=\"building_block\">\r\n     <img width=69 height=72 src=\"images/akuta_coronara_syndrom/image312.png\" />\r\n   </div>\r\n  <div style=\"vertical-align: top;position: absolute;z-index: 14;left: 120px;top: 39px;width: 216px;height: 71px;\" id=\"page1block8\" class=\"building_block\">\r\n     <p class=Brödtext>\r\n          <span style=\"font-weight: bold;\">\r\n             Kranskärl (stora epikardiella artärer)<br />\r\n            </span>\r\n         <span>\r\n              - Utgör ej någon signifikant källa till flödesresistens sålänge de ej ockluderats av aterosklerotiska plack.\r\n            </span>\r\n     </p>\r\n    </div>\r\n  <div style=\"vertical-align: top;position: absolute;z-index: 15;left: 340px;top: 40px;width: 251px;height: 126px;\" id=\"page1block9\" class=\"building_block\">\r\n        <p class=Brödtext>\r\n          <span style=\"font-weight: bold;\">\r\n             Prearteriolära kärl samt Arterioler och intramyokardiella kapillärer<br />\r\n          </span>\r\n         <span>\r\n              - Utgör huvudsakliga resistensen till flödet i hjärtats cirkulation hos den friska individen.<br />\r\n  - De kan dilateras som svar på metabola stimuli och autoreglering vid ökat syrebehov och kan på så sätt kraftigt minska sin resistens och därmed öka blodflödet till den behövande hjärtmuskeln.\r\n           </span>\r\n     </p>\r\n    </div>\r\n  <div style=\"position: absolute;z-index: 16;left: 185px;top: 116px;width: 42px;height: 12px;\" id=\"page1block10\" class=\"building_block\">\r\n        <img width=42 height=12 src=\"images/akuta_coronara_syndrom/image318.png\" />\r\n   </div>\r\n  <div style=\"position: absolute;z-index: 17;left: 237px;top: 219px;width: 144px;height: 153px;\" id=\"page1block11\" class=\"building_block\">\r\n      <img width=144 height=153 src=\"images/akuta_coronara_syndrom/image319.png\" alt=\"Text Box: \" />\r\n  </div>\r\n  <div style=\"position: absolute;z-index: 18;left: 202px;top: 122px;width: 68px;height: 101px;\" id=\"page1block12\" class=\"building_block\">\r\n       <img width=68 height=101 src=\"images/akuta_coronara_syndrom/image320.png\" />\r\n  </div>\r\n  <div style=\"position: absolute;z-index: 19;left: 119px;top: 219px;width: 118px;height: 68px;\" id=\"page1block13\" class=\"building_block\">\r\n       <img width=118 height=68 src=\"images/akuta_coronara_syndrom/image321.png\" alt=\"Text Box: \" />\r\n   </div>\r\n  <div style=\"position: absolute;z-index: 20;left: 114px;top: 121px;width: 27px;height: 100px;\" id=\"page1block14\" class=\"building_block\">\r\n       <img width=27 height=100 src=\"images/akuta_coronara_syndrom/image322.png\" />\r\n  </div>\r\n  <div style=\"position: absolute;z-index: 21;left: 392px;top: 220px;width: 191px;height: 169px;\" id=\"page1block15\" class=\"building_block\">\r\n      <img width=191 height=169 src=\"images/akuta_coronara_syndrom/image323.png\" alt=\"Text Box: \" />\r\n  </div>\r\n  <div style=\"position: absolute;z-index: 22;left: 42px;top: 93px;width: 73px;height: 59px;\" id=\"page1block16\" class=\"building_block\">\r\n      <img width=73 height=59 src=\"images/akuta_coronara_syndrom/image324.png\" />\r\n   </div>\r\n  <div style=\"position: absolute;z-index: 23;left: 0px;top: 136px;width: 121px;height: 231px;\" id=\"page1block17\" class=\"building_block\">\r\n        <img width=121 height=231 src=\"images/akuta_coronara_syndrom/image325.png\" alt=\"Text Box: \" />\r\n  </div>\r\n  <div style=\"position: absolute;z-index: 24;left: 871px;top: 44px;width: 119px;height: 115px;\" id=\"page1block18\" class=\"building_block\">\r\n       <img width=119 height=115 src=\"images/akuta_coronara_syndrom/image326.png\" />\r\n </div>\r\n  <div style=\"position: absolute;z-index: 25;left: 604px;top: 44px;width: 119px;height: 115px;\" id=\"page1block19\" class=\"building_block\">\r\n       <img width=119 height=115 src=\"images/akuta_coronara_syndrom/image333.png\" />\r\n </div>\r\n  <div style=\"position: absolute;z-index: 26;left: 604px;top: 200px;width: 120px;height: 115px;\" id=\"page1block20\" class=\"building_block\">\r\n      <img width=120 height=115 src=\"images/akuta_coronara_syndrom/image337.png\" />\r\n </div>\r\n  <div style=\"position: absolute;z-index: 27;left: 653px;top: 168px;width: 26px;height: 26px;\" id=\"page1block21\" class=\"building_block\">\r\n        <img width=26 height=26 src=\"images/akuta_coronara_syndrom/image343.png\" />\r\n   </div>\r\n  <div style=\"position: absolute;z-index: 28;left: 733px;top: 251px;width: 126px;height: 24px;\" id=\"page1block22\" class=\"building_block\">\r\n       <img width=126 height=24 src=\"images/akuta_coronara_syndrom/image344.png\" />\r\n  </div>\r\n  <div style=\"vertical-align: top;position: absolute;z-index: 29;left: 743px;top: 34px;width: 109px;height: 72px;\" id=\"page1block23\" class=\"building_block\">\r\n        <p class=Brödtext>\r\n          <span style=\"font-weight: bold;\">\r\n             Lipid-ackumulering i intima:\r\n            </span>\r\n         <span>\r\n              Börjar under första 10 levnadsåren\r\n          </span>\r\n     </p>\r\n    </div>\r\n  <div style=\"vertical-align: top;position: absolute;z-index: 30;left: 710px;top: 175px;width: 172px;height: 69px;\" id=\"page1block24\" class=\"building_block\">\r\n       <p style=\"text-align: center;\" class=Brödtext>\r\n            <span style=\"font-weight: bold;\">\r\n             Inducering av inflammation, aktivering av SMCs:\r\n         </span>\r\n         <span>\r\n              Ger bildning av aterosklerotiska plack. Börjar efter 30 års ålder.\r\n          </span>\r\n     </p>\r\n    </div>\r\n  <div style=\"position: absolute;z-index: 31;left: 868px;top: 199px;width: 120px;height: 115px;\" id=\"page1block25\" class=\"building_block\">\r\n      <img width=120 height=115 src=\"images/akuta_coronara_syndrom/image347.png\" />\r\n </div>\r\n  <div style=\"position: absolute;z-index: 32;left: 913px;top: 167px;width: 26px;height: 26px;\" id=\"page1block26\" class=\"building_block\">\r\n        <img width=26 height=26 src=\"images/akuta_coronara_syndrom/image353.png\" />\r\n   </div>\r\n  <div style=\"vertical-align: top;position: absolute;z-index: 33;left: 977px;top: 137px;width: 97px;height: 104px;\" id=\"page1block27\" class=\"building_block\">\r\n       <p class=Brödtext>\r\n          <span style=\"font-weight: bold;\">\r\n             Fissurbildning eller ruptur med efterföljande trombos:\r\n          </span>\r\n         <span>\r\n              Sker vanligen efter 40 års ålder.\r\n           </span>\r\n     </p>\r\n    </div>\r\n  <div style=\"position: absolute;z-index: 34;left: 662px;top: 70px;width: 79px;height: 115px;\" id=\"page1block28\" class=\"building_block\">\r\n        <img width=79 height=115 src=\"images/akuta_coronara_syndrom/image355.png\" />\r\n  </div>\r\n  <div style=\"vertical-align: top;position: absolute;z-index: 35;left: 1px;top: 401px;width: 269px;height: 368px;\" id=\"page1block29\" class=\"building_block\">\r\n        <h4>\r\n            <span>\r\n              Hjärtmuskelischemi\r\n          </span>\r\n     </h4>\r\n       <p>\r\n         <span>\r\n              - Inträffar när hjärtats näringsbehov inte kan mötas av dess näringstillförsel.<br />\r\n  - Ökade behov: Takykardi, ökad väggtension (pga ökad pre-/afterload), ökad kontraktilitet<br />\r\n  - Minskad syretillförsel: Anemi, minskat CPP, förkortad diastole, kranskärlssjukdom, trombogenes<br />\r\n  - Ofta samverkar flera faktorer för att skapa ischemin, tex en begynnande ocklusion av kränskärlen med ateroskleros + ett ökat behov till följd av hypertrofi.<br />\r\n  - Anemi är sällan ensam utlösare av ischemi, men kan vara den tuva som stjälper lasset om den näringsgivande förmågan är nedsatt till följd av andra faktorer.<br />\r\n  - I början av sjukdomen fås oftast besvär endast vid fysisk ansträngning då detta ställer krav på förmågan hos hjärtats cirkulation att leverera näring till den arbetande muskulaturen.\r\n            </span>\r\n     </p>\r\n        <h4>\r\n            <span>\r\n              Ischemi pga ateroskleros\r\n            </span>\r\n     </h4>\r\n   </div>\r\n  <div style=\"vertical-align: top;position: absolute;z-index: 36;left: 271px;top: 401px;width: 269px;height: 369px;\" id=\"page1block30\" class=\"building_block\">\r\n      <p>\r\n         <span>\r\n              - När en stenos minskar lumen i ett kranskärl med 50% begränsas förmågan att öka flödet för att möta ett ökat behov hos hjärtmuskulaturen.<br />\r\n  - När stenosen minskar lumen med 80% kan blodflödet begränsas även i vila.<br />\r\n  - En stenos kan utvecklas gradvis till följd av långsam placktillväxt. När ischemin på detta sätt börjar bli kritisk stimuleras angiogenes och kollateralkärl bildas i området. Dessa kan ofta försörja den nedströms muskulaturen i vila, trots stenosen, men kan sällan möta de krav som ställs vid fysisk ansträngning. Patienten får stabil angina.<br />\r\n  - Stenoser kan även utvecklas plötsligt till följd av att ett mindre plack eroderar i sin yta varpå trombogena substanser exponeras för blodet som passerar. Trombocyter ansamlas då och koagulationskaskaden startar så att en trombos bildas som snabbt kan täppa till kärllumen.Då kollateraler i dessa fall saknas utvecklas en kritisk ischemi av nedströms försörjd hjärtmuskulatur och en infarkt kan uppstå.<br />\r\n           </span>\r\n     </p>\r\n    </div>\r\n  <div style=\"vertical-align: top;position: absolute;z-index: 37;left: 539px;top: 401px;width: 269px;height: 368px;\" id=\"page1block31\" class=\"building_block\">\r\n      <p style=\"text-indent: 0pt;\">\r\n         <span>\r\n              - Den subendokardiella hjärtmuskulaturen är sämst kärlförsörjd och drabbas oftast hårdast av ischemi.\r\n           </span>\r\n     </p>\r\n        <p>\r\n         <span>\r\n              - Långt ifrån alla med ischemi får symptom. Det beräknas att 25% av hjärtinfarkter aldrig får någon uppmärksamhet av sjukvården.\r\n            </span>\r\n     </p>\r\n        <h4>\r\n            <span>\r\n              Effekter av ischemi\r\n         </span>\r\n     </h4>\r\n       <p>\r\n         <span style=\"font-weight: bold;\">\r\n             - Stör ventrikelns kontraktilitet lokalt\r\n            </span>\r\n         <span>\r\n              (ischemi till följd av ateroskleros har ett distinkt utbredningsområde motsvarande det område som försörjs av den stenoserade artären).<br />\r\n  -\r\n            </span>\r\n         <span style=\"font-weight: bold;\">\r\n             Störning av kontraktilitet leder till akinesi\r\n           </span>\r\n         <span>\r\n              eller dyskinesi (väggen buktar utåt) av hjärtmuskelväggen\r\n           </span>\r\n         <span style=\"font-weight: bold;\">\r\n             efter bara några minuter\r\n            </span>\r\n         <span>\r\n              . Försämrar hjärtats kontraktilitet.<br />\r\n  - Om\r\n            </span>\r\n         <span style=\"font-weight: bold;\">\r\n             papillarmuskulaturen\r\n            </span>\r\n         <span>\r\n              involveras kan patienten få\r\n         </span>\r\n         <span style=\"font-weight: bold;\">\r\n             mitralisinsufficiens\r\n            </span>\r\n         <span>\r\n              .<br />\r\n         </span>\r\n         <span style=\"font-weight: bold;\">\r\n             - Ischemin kan vara övergående\r\n          </span>\r\n         <span>\r\n              och enbart ge angina pectoris, eller\r\n            </span>\r\n         <span style=\"font-weight: bold;\">\r\n             mer långvarig\r\n           </span>\r\n         <span>\r\n              och då leda till en\r\n         </span>\r\n         <span style=\"font-weight: bold;\">\r\n             infarkt\r\n         </span>\r\n         <span>\r\n              . <br />\r\n            </span>\r\n     </p>\r\n    </div>\r\n  <div style=\"vertical-align: top;position: absolute;z-index: 38;left: 808px;top: 401px;width: 269px;height: 368px;\" id=\"page1block32\" class=\"building_block\">\r\n      <p style=\"text-indent: 0pt;\">\r\n         <span style=\"font-weight: bold;\">\r\n             - Efter 15 minuter\r\n          </span>\r\n         <span style=\"font-weight: bold;\">\r\n             av ischemi\r\n          </span>\r\n         <span>\r\n              utan kollateralflöde\r\n            </span>\r\n         <span style=\"font-weight: bold;\">\r\n             blir myokardet ischemiskt\r\n           </span>\r\n         och\r\n         <span style=\"font-weight: bold;\">\r\n             efter 20-40\r\n         </span>\r\n         minuter tycks\r\n           <span style=\"font-weight: bold;\">\r\n             irreversibla skador\r\n         </span>\r\n         börja uppstå\r\n            <span>\r\n              (hjärtmuskelcellerna börjar gå i nekros)\r\n            </span>\r\n         .\r\n           <span>\r\n              <br />\r\n  - Ischemin\r\n          </span>\r\n         <span style=\"font-weight: bold;\">\r\n             hämmar betaoxidation av fettsyror\r\n           </span>\r\n         <span>\r\n              (vilken kräver syre), varpå hjärtmuskelcellerna övergår till\r\n            </span>\r\n         <span style=\"font-weight: bold;\">\r\n             anaerob glykolys\r\n            </span>\r\n         <span>\r\n              . Detta  ger laktatproduktion och pH sjunker. ATP-nivåer minskar. <br />\r\n  -\r\n         </span>\r\n         <span style=\"font-weight: bold;\">\r\n             Cellernas membranpumpar fungerar sämre\r\n          </span>\r\n         <span>\r\n              och joner börjar läcka över deras membran (K läcker ut, Na läcker in). Dessutom ökar cytosolens [Ca].<br />\r\n         </span>\r\n         <span style=\"font-weight: bold;\">\r\n             - Viabelt myokradium som kan räddas med reperfusion\r\n         </span>\r\n         kvarstår dock  i flera timmar efter den initiala ocklusionen.\r\n       </p>\r\n        <h4>\r\n            <span>\r\n              Mekanismer\r\n          </span>\r\n     </h4>\r\n       <p>\r\n         <span>\r\n              - Både instabil angina pectoris, NSTEMI och STEMI är oftast resultatet av ruptur av ett plack med efterföljande trombbildning i kranskärlet. <br />\r\n  - Små subendokardiella infarkter kan dock uppstå enbart till följd av svår diffus ateroskleros av\r\n          </span>\r\n     </p>\r\n    </div>\r\n  <div style=\"vertical-align: top;position: absolute;z-index: 237;left: 0px;top: 136px;width: 119px;height: 252px;\" id=\"page1block33\" class=\"building_block\">\r\n       <p class=Brödtext>\r\n          <span style=\"font-weight: bold;\">\r\n             Blodflöde till hjärtat:\r\n         </span>\r\n         <span>\r\n              Blod strömmar till ffa under diastole.\r\n          </span>\r\n     </p>\r\n        <p class=Brödtext>\r\n          <span style=\"font-weight: bold;\">\r\n             - Kortare  diastole\r\n         </span>\r\n         <span>\r\n              pga högre HR eller\r\n          </span>\r\n         <span style=\"font-weight: bold;\">\r\n             sämre relaxation av hjärtmuskeln\r\n            </span>\r\n         <span>\r\n              under diastole till följd av\r\n            </span>\r\n         <span style=\"font-weight: bold;\">\r\n             ischemi eller hypertrofi\r\n            </span>\r\n         <span>\r\n              försämrar blodflödet till hjärtat.<br />\r\n            </span>\r\n         <span style=\"font-weight: bold;\">\r\n             - Anemi\r\n         </span>\r\n         <span>\r\n              minskar blodets syrebärande förmåga och försämrar syretillförseln.\r\n          </span>\r\n     </p>\r\n    </div>\r\n  <div style=\"vertical-align: top;position: absolute;z-index: 238;left: 118px;top: 217px;width: 118px;height: 70px;\" id=\"page1block34\" class=\"building_block\">\r\n      <p class=Brödtext>\r\n          <span style=\"font-weight: bold;\">\r\n             Aortit:\r\n         </span>\r\n         <span>\r\n              Minskar kranskärlsostiernas storlek och hämmar därmed flödet\r\n            </span>\r\n     </p>\r\n    </div>\r\n  <div style=\"vertical-align: top;position: absolute;z-index: 239;left: 237px;top: 221px;width: 147px;height: 152px;\" id=\"page1block35\" class=\"building_block\">\r\n     <p class=Brödtext>\r\n          <span style=\"font-weight: bold;\">\r\n             Ateroskleros:\r\n           </span>\r\n         <span>\r\n              Minskar lumen i kranskärlen och ökar därmed kraftigt motståndet mot flöde ut i hjärtats cirkulation<br />\r\n  - Samma effekt har embolier och spasm i kranskärlen (”Prinzmetals angina”).\r\n          </span>\r\n     </p>\r\n    </div>\r\n  <div style=\"vertical-align: top;position: absolute;z-index: 240;left: 395px;top: 223px;width: 187px;height: 165px;\" id=\"page1block36\" class=\"building_block\">\r\n     <p class=Brödtext>\r\n          <span style=\"font-weight: bold;\">\r\n             Vänsterkammarhypertrofi:\r\n            </span>\r\n         <span>\r\n              Försämrar näringsflöde till muskulaturen genom att öka vävnadstrycket så att perfusionen försämras. Dessutom kräver ett hypertrofierat hjärta mer syre, samtidigt som nybildning av cirkulation oftast inte hinner med.\r\n         </span>\r\n     </p>\r\n        <p class=Brödtext>\r\n          <span>\r\n               \r\n           </span>\r\n     </p>\r\n        <p class=Brödtext>\r\n          <span>\r\n              CPP = DBP—LVEDP\r\n         </span>\r\n     </p>\r\n    </div>\r\n</div>',
        '1357250251',
        '1357250251',
        '',
        'Hjrtmuskelischemi=>\r\nHjärtmuskelischemi',
        '1121',
        '-1'
    )
  • 1
    Do you have the correct character encoding set for your database and table? – kittycat Jan 03 '13 at 21:01
  • Since database looks well setup'd, i'd check if the query is built correctly. Can you put the query in a variable (let's say _$query_string_) and printout the content just before the _mysql_query($query_string)_ instruction? – Davide Berra Jan 03 '13 at 21:05
  • PSA: Please, please, please [don't use the `mysql` library](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php) for anything ever. – millimoose Jan 03 '13 at 22:35
  • I'd also doublecheck with a debugger or logging statements whether the strings you're inserting don't get mangled *before* they're being inserted. E.g. try to insert an 'ä' and it should come in as a two-byte string. – millimoose Jan 03 '13 at 22:41

2 Answers2

0

Coding PHP documents in UTF-8 or not is not affecting your PHP engine unless you have pure HTML data written in your native language (in that document). If not so, UTF-8ing your .php documents is irrelevant for a website to be UTF-8 driven. This is good to know.

Anyway, this is $_POST[] (not MySql) problem. You need to convert your $value(s) -characters - before they engage to mysql. You will find answer here.

ps: I had same problem as you, but with "quotes" characters (same cut off).

Im very tired but you may try this :P

Change this..

$values = array_map('mysql_real_escape_string', array_values($inserts));

into this

$values = array_map('mysql_real_escape_string', array_values($inserts));
$values = html_entity_decode($values, ENT_HTML401);

OR (in case html_entity_decode aint gonna work or some other function on a website is cleaning up data) with this

$values = array_map('mysql_real_escape_string', array_values($inserts));
$values = htmlspecialchars($values, ENT_HTML401);

Edit: Then try this

$values = htmlspecialchars($values);
Xfile
  • 674
  • 8
  • 19
  • Thank you for the answer. My webhost provider runs php 5.3.18 and ENT_HTML401 was added in php 5.4, so using that constant will not work, sadly. – Erik Boberg Jan 04 '13 at 20:12
  • Yes youre right. I edited my answer so try that if you want to. Hope it will help.. – Xfile Jan 04 '13 at 20:48
0

Maybe your problem lies in the php/html file, and not in the database settings.

Check that you save the php file UTF-8 encoded (without BOM header), so it will produce a UTF-8 encoded HTML file. That's the job of your code editor.

Then add the correct encoding declaration to the top of your HTML/PHP page, right after the opening tag:

HTML 4:  <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
XHTML:   <meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
HTML 5:  <meta charset="UTF-8">

Here you can read more.

martinstoeckli
  • 23,430
  • 6
  • 56
  • 87
  • I solved the problem by adding utf8_encode() to the variable before insertion into the database. The contents that is to be inserted is sent to the php file using FORM method. My theory is that this (for some reason) converts the text to another format so that it has to be converted back to UTF-8 before insertion. Can you specify in the form what format to send the form variables in? – Erik Boberg Jan 05 '13 at 15:11
  • @ErikBoberg - You probably mean the POST method, the normal way to send content from a form to the server. If the page is a valid UTF-8 HTML/PHP page, the content should be sent automatically as UTF-8, there should be no need to do conversions by your own. Use the [W3-checker](http://validator.w3.org/i18n-checker/) to test the encoding of your page. – martinstoeckli Jan 06 '13 at 08:56