Kom ihåg mig?
Home Menu

Menu


Varför är 'a' = 'å' ?

Ämnesverktyg Visningsalternativ
Oläst 2009-04-22, 12:41 #1
Znarkuss avatar
Znarkus Znarkus är inte uppkopplad
Nykomling
 
Reg.datum: Sep 2008
Inlägg: 11
Znarkus Znarkus är inte uppkopplad
Nykomling
Znarkuss avatar
 
Reg.datum: Sep 2008
Inlägg: 11
[MySQL 5]

Tjena!

SELECT 'a' = 'å' returnerar 1 för mig. Vet någon varför?

Och hur gör jag något åt det, utan att behöva skriva SELECT 'a' = 'å' COLLATE utf8_swedish_ci ? Blir väldigt omständigt att skriva så i varje query

Tack på förhand!

Edit: Jag har försökt med att köra SET NAMES utf8 COLLATE utf8_swedish_ci, men utan resultat
Znarkus är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-04-22, 12:52 #2
forngrens avatar
forngren forngren är inte uppkopplad
Flitig postare
 
Reg.datum: Jan 2004
Inlägg: 382
forngren forngren är inte uppkopplad
Flitig postare
forngrens avatar
 
Reg.datum: Jan 2004
Inlägg: 382
Kan detta vara nåt om du använder php? http://php.net/manual/en/mysqli.set-charset.php

Kod:
<?php
$mysqli = mysqli_connect('localhost', 'my_user', 'my_password', 'test');
$mysqli->mysqli_set_charset("utf8");
?>
forngren är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-04-22, 13:29 #3
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
Magnus_A Magnus_A är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: May 2006
Inlägg: 2 604
----
Magnus_A är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-04-22, 13:35 #4
thorsells avatar
thorsell thorsell är inte uppkopplad
Medlem
 
Reg.datum: Feb 2004
Inlägg: 295
thorsell thorsell är inte uppkopplad
Medlem
thorsells avatar
 
Reg.datum: Feb 2004
Inlägg: 295
Kanske detta fungerar bättre:

SELECT 'a' = BINARY 'a'; //returns 1
SELECT 'å' = BINARY 'a'; //returns 0
thorsell är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-04-22, 14:37 #5
Znarkuss avatar
Znarkus Znarkus är inte uppkopplad
Nykomling
 
Reg.datum: Sep 2008
Inlägg: 11
Znarkus Znarkus är inte uppkopplad
Nykomling
Znarkuss avatar
 
Reg.datum: Sep 2008
Inlägg: 11
Citat:
Ursprungligen postat av forngren
Kan detta vara nåt om du använder php? http://php.net/manual/en/mysqli.set-charset.php
Kod:
?php
mysqli = mysqli_connectlocalhost, my_user, my_password, test;
mysqli-mysqli_set_charsetutf8;
?

Jag använder PDO, vet inte hur man skulle göra det där. Jag kör kommandona SET NAMES utf8 och SET CHARACTER SET utf8 vid uppstart, vilket jag tycker borde göra samma sak.

Citat:
Ursprungligen postat av thorsell
Kanske detta fungerar bättre:
SELECT a = BINARY a; //returns 1
SELECT å = BINARY a; //returns 0

Jag kanske ska säga vad jag använder detta till egentligen, ovan var bara ett exempel. Problemet uppstår när jag använder GROUP_CONCAT och DISTINCT, då slår den samman "Håbo kommun" och "Habo kommun" :P

Edit: Min lösning kanske är dålig, det får inte finnas fler kommuner (eller annat) med samma namn. Måste fundera på detta. Några förslag? Jag använder GROUP_CONCAT för att få fram varje persons tilldelade kommuner t.ex. i samma fält
Znarkus är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 13:46.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017