Sliter litt med sammenlikning av stringer i SQL.
Har et problem når jeg sammenlikner bokstaver som e ë è é etc.
Får samme resultat om jeg kjører det fra phpmyadmin kontrollpanelet, eller i phpsidene.
Får svar at både e, é, ê etc er samme bokstav.
Bruker for øyeblikket utf8_general_ci, men har forsøkt med utf8_unicode_ci
dbopen.php:
Standar DB instillinger er satt til
MySQL-tegnsett: UTF-8 Unicode (utf8)
Kollasjon av MySQL-oppkobling: utf8_unicode_ci
Og når tabellene det gjelder blir opprettet kjøres (utdrag):
Er det noen som har en løsning / idé for å få e != é && ë != è ?
Nettsiden dette blir brukt på er oppe å kjører, er noe jeg har satt opp for å lære meg mer om webutvikling (learning by doing).
>Klikk<.
Fungerer, men er endel feil fortsatt. Passord blir behandlet av sha1 og saltet md5, så burde være sikkert også..
Har et problem når jeg sammenlikner bokstaver som e ë è é etc.
Får samme resultat om jeg kjører det fra phpmyadmin kontrollpanelet, eller i phpsidene.
Får svar at både e, é, ê etc er samme bokstav.
Bruker for øyeblikket utf8_general_ci, men har forsøkt med utf8_unicode_ci
Kode
$ch_loc = $_REQUEST['chloc']; $ch_name = ucfirst(strtolower($_REQUEST['chname'])); $ch_realm = $_REQUEST['chrealm']; if ((strpos($ch_realm, ' ')) === false) { $ch_realm = ucfirst(strtolower($ch_realm)); } else { list($part1, $part2) = explode(" ", $ch_realm); $part1 = ucfirst(strtolower($part1)); $part2 = ucfirst(strtolower($part2)); $ch_realm = $part1.' '.$part2; } include './dbopen.php'; $query = "SELECT c_name, c_server, c_eu_us FROM $name WHERE c_name = '$ch_name' and c_server = '$ch_server' and c_eu_us = '$ch_loc'"; $result = mysqli_query($connect, $query); $cnt = mysqli_num_rows($result); include './dbclose.php'; if ($cnt >= 1) { $c_error = 'exists'; }
Kode
$db_connect_user='*****'; $db_connect_pass='*****'; $db_connect_name='********'; $db_connect_host='*******'; $connect = mysqli_connect($db_connect_host, $db_connect_user, $db_connect_pass); mysqli_select_db($connect, $db_connect_name); mysqli_set_charset($connect, 'utf8'); $db_selected = mysqli_select_db($connect, $db_connect_name); $set = "SET NAMES utf8"; mysqli_query($connect, $set);
MySQL-tegnsett: UTF-8 Unicode (utf8)
Kollasjon av MySQL-oppkobling: utf8_unicode_ci
Og når tabellene det gjelder blir opprettet kjøres (utdrag):
Kode
c_name VARCHAR( 25 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
Er det noen som har en løsning / idé for å få e != é && ë != è ?
Nettsiden dette blir brukt på er oppe å kjører, er noe jeg har satt opp for å lære meg mer om webutvikling (learning by doing).
>Klikk<.
Fungerer, men er endel feil fortsatt. Passord blir behandlet av sha1 og saltet md5, så burde være sikkert også..
Sist endret av Lanjelin; 8. juni 2010 kl. 11:11.