PHP: Jämföra två strängar
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! :) |
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
|
Citat:
|
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.. |
mb_internal_encoding("UTF-8");
Kör även SET NAMES 'utf8', om du kör MySQL. |
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.
|
Citat:
Citat:
|
Citat:
T.ex. såhär kan det se ut Kod:
$sql = 'SELECT * FROM users where userId = :id'; 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 |
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 ... |
Alla tider är GMT +2. Klockan är nu 14:33. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson