Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  9 1762
Jeg er ny i php, tenkte jeg skulle prøve lage et enkelt script som for meg ikke ble så enkelt allikevel. Problemet er at jeg skal lage et script hvor man regner bokstaver jeg legger inn i formen så feks kalkuler da. Men for å gjøre alt enklere så er det et enkelt script her:

<?php
$string="wæøå";

$num_char=strlen($string);

echo $num_char;
?>

problemet er når jeg kjører dette på server så regner det 7 bokstaver. Altså æ = ae , ø = oe og å= aa

altså æ blir regnet som 2 bokstaver. Samme med ø og å.

Hvordan får jeg fikset så det blir regnet som 1 bokstav?

Tusen takk på forhånd
Sist endret av dethklok; 2. desember 2010 kl. 20:47.
Hvilket karaktersett bruker du?
Jeg er ny på det også. Dette er noe som ligger inne på min webserver fra før av da evt? Så jeg kan sjekke det ut fra der?
sett følgende på toppen av PHP-filen, så bør det fungere

Kode

header( 'Content-type: text/html; charset=utf-8' );
Sitat av hosjmeister Vis innlegg
sett følgende på toppen av PHP-filen, så bør det fungere

Kode

header( 'Content-type: text/html; charset=utf-8' );
Vis hele sitatet...


Takk skal du ha. Fungerte veldig bra dette! Skal sette meg mer inn i dette merker jeg.
Du kan også dra nytte av MultiByte-biblioteket i PHP. Tilsvarende funksjon der er mb_strlen ().
Faen, jeg tenkte feil jeg. Det er fremdeles feil. Har også prøvd header('Content-type: text/html; charset=iso-8859-1');

Sitat av davste Vis innlegg
Du kan også dra nytte av MultiByte-biblioteket i PHP. Tilsvarende funksjon der er mb_strlen ().
Vis hele sitatet...
det må jeg sjekke nærmere på

Der ja, når jeg byttet ut strlen med mb_strlen så fungerte det utmerket Tusen takk
Crew lofotLAN 2012
PureRushh's Avatar
Jeg prøver å legge til header('Content-Type:text/html; charset=utf-8'); i min fil fordi at inputs med æøå blir feil.
Men jeg får alltid denne meldingen
Warning: Cannot modify header information - headers already sent by (output started at Cxampp\htdocs\images\index.php:1) in Cxampp\htdocs\images\asset\scripts\connect.php on line 3
Vis hele sitatet...
skjekka alle filene å det er kun der det er sott en header.
Det er allerede sendt innholdsdata (f. eks. starten på html-fila), og da kan ikke header endres. Headeren må settes før første innhold blir sendt. Eventuelt lagrer du php-fila som UTF-8 med BOM (Byte Order Mark), da tolkes BOM-tegnet som innhold. Lagre da fila med enkoding UTF-8 uten BOM (også kalt "ANSI as UTF-8")
Crew lofotLAN 2012
PureRushh's Avatar
Aha, ja jeg har lagret fila som utf-8 i notepad++.
Men hvorfor får jeg feil da jeg har input fields som setter ting inn i databasen. Hvorfor fungerer ikke utf-8 da?