FAQ |
Kalender |
2015-01-25, 23:57 | #1 | ||
|
|||
Mycket flitig postare
|
Hej!
Ber om ursäkt för mina dåliga programmeringskunskaper, men har ett litet bekymmer jag hade uppskattat hjälp med . Jämför en sträng med ett resultat jag hämtar från en databas, från vad jag kan se borde dessa matcha varandra. Kan UTF-8 påverka något om jag t.ex hämtar strängen jag ska jämföra med från en fil som inte är UTF-8-encoded och jämför med en databas som är det? Lyckas nämligen inte få dem att matcha. Tack på förhand! |
||
Svara med citat |
2015-01-26, 09:05 | #2 | |||
|
||||
Bara ett inlägg till!
|
Ja, om en sträng är i UTF8 och en annan i ISO8859-1 så kommer de inte att matcha (givet att de innehåller tecken från den utökade delen, vilket man nog bör förutsätta att de kan). Vad du får göra är att göra om en av strängarna till det andra formatet innan jämförelse, det kan du göra med t.ex.: http://php.net/manual/en/function.iconv.php
|
|||
Svara med citat |
2015-01-26, 22:53 | #3 | ||
|
|||
Mycket flitig postare
|
Citat:
|
||
Svara med citat |
2015-01-29, 00:40 | #4 | ||
|
|||
Mycket flitig postare
|
Bumpar denna lite.
Lyckas nu hämta/matcha SQL-data utan åäö i, men så fort något innehåller ä så hittas ingenting. Har dubbelkollat att min php-fil är sparad i UTF-8, har kollat att min sträng är UTF-8, tabellens kollationering är utf8_general_ci. Finns där något annat jag måste hålla koll på? Sliter snart av mig håret.. |
||
Svara med citat |
2015-01-29, 01:38 | #5 | ||
|
|||
Mycket flitig postare
|
mb_internal_encoding("UTF-8");
Kör även SET NAMES 'utf8', om du kör MySQL. |
||
Svara med citat |
2015-01-29, 09:37 | #6 | ||
|
|||
Administratör
|
Lägg till charset i din anslutning till databasen också. Med PDO skickar du med charset=utf8 i din connection string och med mysqli har du mysqli::set_charset, gamla mysql bör du inte använda så där kommenterar jag inte.
__________________
eldefors.com - Personlig (teknik)-blogg |
||
Svara med citat |
2015-01-29, 09:51 | #7 | ||
|
|||
Mycket flitig postare
|
Citat:
Hehe, förmodligen det incitamentet jag behöver. Har precis lyckats lära mig grundläggande PHP till den grad jag kan använda det, det här med PDO gör det väldigt mycket mer komplicerat, i varje fall i mitt huvud. Finns det några speciella fördelar med att använda det? |
||
Svara med citat |
2015-01-29, 10:18 | #8 | ||
|
|||
Flitig postare
|
Citat:
T.ex. såhär kan det se ut Kod:
$sql = 'SELECT * FROM users where userId = :id'; $st = $db->prepare($sql); $st->execute(array( "id" => $id )); if ($st->rowCount() === 0) { // användaren existerar inte // sen om du vill returna eller vad du vill göra är upp till dig // annars kan du ha en else-sats under förstås. } $user = $st->fetchObject(); Helt klart ett "måste" i min mening, så det är bara att mata in Jag är övertygad om att du lär dig det rätt snabbt |
||
Svara med citat |
2015-01-29, 10:37 | #9 | ||
|
|||
Administratör
|
Citat:
Sen finns det även en hel del funktion som saknas i mysql-extensionen, t ex: - Prepared statements (som förutom säkerhet även bla ger dig möjligheten till snabbare upprepande queries) - Asynkrona queries (fire and forget) - Bra felhantering (som du också kan styra själv enligt smak o tycke) - Stored procedures - OOP api - Bra stöd för transaktioner Sen säkert en mängd till som inte dyker upp nu. Kort sagt kommer du sakna massa funktionalitet som du får plåstra och krångla för att kunna emulera. Som jag tycker x264 visar så är det inte så svårt att lära sig ...
__________________
eldefors.com - Personlig (teknik)-blogg |
||
Svara med citat |
Svara |
|
|