het leed dat tekenset heet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Toby hinloopen

toby hinloopen

24/08/2009 00:31:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

mb_internal_encoding('UTF-8');
mb_http_output('UTF-8');
header('Content-Type: text/html; charset=utf-8');
    
echo '€';

?>


Output:
ruitje met vraagteken (in firefox)

Kan iemand mij uitleggen waarom zoiets simpels als een echo niet eens normaal werkt?

Ik wil ALLES in UTF-8 hebben zonder aan server instellingen te kloten; het moet namelijk portable code zijn: op iedere server moet het werken... maar wel met UTF8.
Gewijzigd op 01/01/1970 01:00:00 door Toby hinloopen
 
PHP hulp

PHP hulp

18/12/2024 08:42:10
 
Whatever Whatever

Whatever Whatever

24/08/2009 00:33:00
Quote Anchor link
HTML Special chars?

http://www.utexas.edu/learn/html/spchar.html

Gebruik dus
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
'&euro;'
 
Toby hinloopen

toby hinloopen

24/08/2009 00:35:00
Quote Anchor link
@jacsoft:
HTML Special Chars wil ik niet gebruiken in dit geval. Dat is ook geen antwoord op mijn vraag maar een alternatief.

Ik wil het regeltje "echo '€'" een euroteken op mijn scherm laten geven zonder gebruik van functies in die regel. Ik ben namelijk een soort framework aan het schrijven, maar zit me echt rot te ergeren aan die kut tekensets. (kan niet wachten op PHP6)

Ik wil alles op UTF-8 hebben zonder daarvoor serverconfig voor te hoeven aanpassen en zonder herhaaldelijk gebruik van functies.

Ik zoek dus eigenlijk een serie functies die ALLES op utf-8 kunnen zetten zodat dit soort gezeik verleden tijd is.
Gewijzigd op 01/01/1970 01:00:00 door toby hinloopen
 

24/08/2009 08:45:00
Quote Anchor link
Staat je editor op UTF?

En check deze even http://developer.loftdigital.com/blog/php-utf-8-cheatsheet
 
Toby hinloopen

toby hinloopen

24/08/2009 15:14:00
Quote Anchor link
Webmakerij schreef op 24.08.2009 08:45:
Staat je editor op UTF?

En check deze even http://developer.loftdigital.com/blog/php-utf-8-cheatsheet

Mijn EDITOR?

Poeh

Er staat "ANSI" onderin... Als ik echter naar tekenssets kijk in mijn editor staat niets ertussen wat op UTF-8 of ISO**** lijkt.

Ik zie wel
ANSI
Arabic
Baltic
Chinese Big5
East European
GB 3212
Greek
Hangul
Hebrew
Johab
MAC
OEM
Russian
Shift-JIS
Symbol
Thai
Turkisch
Viatnamese

Onder het lijstje "CODE PAGE" zie ik wel UTF-8 staan. Ik zal 'm daar eens 'ff opzetten en het bestand opnieuw aanmaken.

EDIT:
Toen ik op eigenschappen klikte in mijn editor zag ik een dropdown list met "code page". Daar staat "default", UTF-16 en UTF-8. Nadat ik 'm op UTF-8 zette werktte mijn script correct.

Echter, wanneer ik een nieuw script maakt staat het tekenset weer op ANSI...

De editor die ik gebruik is Programmers Notepad

EDIT2:
Zodra ik een bestand op UTF-8 zet krijg ik standaard de error dat de output al gestart is... terwijl er helemaal niets boven staat. Hij geeft aan dat de output op lijn 1 gestart is; op lijn 1 staat
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php zonder return of spatie ervoor.

Zodra ik het tekenset weer op ANSI (default) zet heb ik die error niet meer. Als ik het tekenset verander in 1 van mijn bestanden die ik include krijg ik dezelfde error, maar dan wordt verwezen naar lijn 1 in het betreffende bestand.

EDIT3:
Nieuw bestand gemaakt, in UTF-8 veranderd. Bestand is helemaal leeg op [code]<?php en ?>
na.

Dus:
<?php

?>


Er is GEEN whitespace omheen!
En toch krijg ik:
[2] Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\***\inc\testfile.php:1) in C:\xampp\htdocs\***\index.php:74

Ik word echt gek van die tekensets :P
Gewijzigd op 01/01/1970 01:00:00 door toby hinloopen
 

24/08/2009 15:25:00
Quote Anchor link
Probeer het eens in een fatsoenlijke editor.. Wat voor control panel heb je? Als je cPanel heb, legacy file manager, bewerken: kiezen voor UTF-8 en daarna opslaan. Hier werkt dat wel gewoon...

http://www.webdevelopment-blog.nl/phphulp/toby.php (Met precies dezelfde code als jij!)
 
Toby hinloopen

toby hinloopen

24/08/2009 15:31:00
Quote Anchor link
Control Panel...?
wat moet dat zijn... ff googlen naar "cPanel"
edit: aha. Ik gebruik xampp, maar de scripts moeten ook op andere servers werken zonder config settings.

En geef eens een suggestie voor een "fatsoenlijke editor".
Gewijzigd op 01/01/1970 01:00:00 door toby hinloopen
 

24/08/2009 15:40:00
Quote Anchor link
Zend Studio :)
RapidPHP :)
Notepad++ als backup...

Overigens, is het de bedoeling dat het altijd op een localhost draait of gaat het ook nog draaien op fatsoenlijk ingestelde servers? Indien dat laatste: Test het dan eerst even op een fatsoenlijke server. Mocht je toch echt localhost overal willen gebruiken, spit je php.ini even door.

(Je cache trouwens al geleegd of niet?)
 
Toby hinloopen

toby hinloopen

24/08/2009 15:42:00
Quote Anchor link
@Chris Kortaan:
Het is een framework. Het moet op iedere server werken dus.

Cache's houd ik ook in de gaten ja. CTRL + F5 moet het doen, maar soms is de browser eigenwijs en moet ik ff met de headers kloten.

Vreemd genoeg lijkt het probleem nu echter opgelost te zijn... Na dit gekloot lijkt-ie te werken: hij accepteert vreemde tekens en euro teken en output deze ook correct. Echo '€'; werkt ook... dus volgens mij heb ik 'm nu te pakken.
 

24/08/2009 15:46:00
Quote Anchor link
Dus lag het waarschijnlijk aan je cache....
 
Toby hinloopen

toby hinloopen

24/08/2009 15:47:00
Quote Anchor link
Chris Kortaan schreef op 24.08.2009 15:46:
Dus lag het waarschijnlijk aan je cache....

Misschien toch... :hmm

Of door het heen-en-weer wisselen van het tekenset in het bestand?

Ach ja... computers zijn vaag :D
Gewijzigd op 01/01/1970 01:00:00 door toby hinloopen
 
Afra ca

Afra ca

24/08/2009 18:15:00
Quote Anchor link
toby hinloopen schreef op 24.08.2009 15:47:
Ach ja... computers zijn vaag :D


Nee hoor. Computers houden zich aan stricte regels, kunnen in theorie geen gekke dingen doen ;) Het zijn de mensjes die het juist goed moeten toepassen en daar nog wel eens nalatig in zijn ;)
 
Toby hinloopen

toby hinloopen

24/08/2009 18:16:00
Quote Anchor link
Afra schreef op 24.08.2009 18:15:
toby hinloopen schreef op 24.08.2009 15:47:
Ach ja... computers zijn vaag :D


Nee hoor. Computers houden zich aan stricte regels, kunnen in theorie geen gekke dingen doen ;) Het zijn de mensjes die het juist goed moeten toepassen en daar nog wel eens nalatig in zijn ;)

Wat jij wilt: Software is vaag :D

(wijsneus :P)
 

24/08/2009 19:06:00
Quote Anchor link
Hij heeft wel gelijk.

Computers zijn gemaakt door mensen, wat inhoud dat computers fouten maken...
 
Toby hinloopen

toby hinloopen

24/08/2009 19:09:00
Quote Anchor link
Chris Kortaan schreef op 24.08.2009 19:06:
Hij heeft wel gelijk.

Computers zijn gemaakt door mensen, wat inhoud dat computers fouten maken...

Wie is "Hij"?

Computers maken trouwens wel fouten.
Zelfs al zouden ze 100% perfect geprogrammeerd zijn. Ga jij je geheugen of je CPU maar eens te weinig stroom geven, zal je zien of computers fouten maken of niet.

Maarja, nutteloze discussie :)
 
Roel -

Roel -

24/08/2009 19:21:00
Quote Anchor link
Met htmlentities() krijg je toch ook zo'n code?
 

24/08/2009 20:06:00
Quote Anchor link
@Toby: Afra, die voor jou sprak. Dat had je ook kunnen lezen vanuit mijn reactie.

Overigens, door wie wordt stroom gegenereerd? ;-)
 

26/08/2009 16:07:00
Quote Anchor link
Kleine toevoeging met SciTe kan je veel verborgen zaken zichtbaar maken. Dus zeker de moeite waard om te gebruiken in dit soort gevallen.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.