View utf8.xpx
<!doctype html>
<debug mode="normal">
<set name="phccharset" value="UTF-8">
<html>
<head>
	<title>TEST PHC VERSION $phcversion$</title>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<meta http-equiv="Cache-Control" content="no-cache">
	<meta http-equiv="Expires" content="0">
</head>

<set name="i" expr="0">				<!--Déclare i à 0-->
<set name="module0" value="#CCCCCC"><!--Déclare un module de couleur gris-->

<body bgcolor="$module[i]$">			<!--Met un fond de couleur module0-->

	<a href="ViewFile.xpx?fileName=$phccurrentfile$">Voir le source</a>
<br>
LC_ALL = $LC_ALL$ (il faut initialiser cette variable. Par exemple dans la config Apache mettre SetEnv LC_ALL fr_FR)

<font face="Verdana">
<h2>UTF8 TEST</h2>

<!--calcul de la longueur de la chaine-->
<set name="lentest" len="modifiée">
LEN="modifiée" = $lentest$<br>

<set name="chaine" value="áàâä§éèêëîïìôöóùúüñ€ÄÇÉÈÊËÎÏÔÖÙÜÑ">
<set name="lenCh" len="$chaine$">
<!--met des majuscules à la phrase-->
<set name="uptest" upcase="$chaine$">
<set name="len" len="$uptest$">
UPCASE="$chaine$"($lenCh$) = $uptest$ ($len$)<br>

Pos(10,5) = $uptest(10,5)$<br>

<!--met des minuscules à la phrase-->
<set name="lowtest" lowcase="$chaine$">
<set name="len" len="$lowtest$">
LOWCASE="$chaine$"($lenCh$) = $lowtest$ ($len$)<br>


<!--enleve tous les accents à la phrase-->
<set name="acctest" noaccent="\"Caractères non-accentuées\"">
NOACCENT="Caractères non-accentuées" = $acctest$<br>
<set name="Mot" value="Çéaractères non-accentuées">
$Mot$ / Mot(4,9) = $Mot(4,9)$<br>

<hr>
<setarea name="text">
La méthode qui consiste à définir tous les caractères à substituer vient d'être abandonnée. En effet dans lâ€exemple, le Ҡnâ€a pas été remplacé car aucun caractère de remplacement ne lui est alloué.

Autre problème de cette méthode, remplacer une lettre par deux autres tel que Ҡpar â€oe†ou le â€ß†allemand par â€ss†nécessite la définition de règles particulières à chaque cas.

Ce sont ces raisons qui nous poussent à éviter cette méthode au profit de la conversion de chaines de caractères.
</setarea>
$text$
<h2>Conversion vers iso-8859-1</h2>
<set name="lowtext" value="$text$" charset="iso-8859-1">
$lowtext$
<h2>Conversion vers iso-8859-1//TRANSLIT</h2>
<set name="lowtext" value="$text$" charset="iso-8859-1//TRANSLIT">
$lowtext$
<h2>Conversion vers iso-8859-1//IGNORE</h2>
<set name="lowtext" value="$text$" charset="iso-8859-1//IGNORE">
$lowtext$
<h2>Replace caractère par char</h2>
<set name="lowtext" value="$text$" replace="caractère" by="<b>char</b>">
$lowtext$
<hr>
<set name="tokenTest" value="L'été est arrivé enfin!">
$tokenTest$<br>
<get value="$tokenTest$" format="$a$é$b$é$c$é$d$">
Format %é%é%é%: [$a$] [$b$] [$c$] [$d$] <br>
<get name="tok" value="$tokenTest$" token="é" option="notnull">
Token é $tok.count$ ->
<set name="i" expr="1">
<while expr="$i$<=$tok.count$">
	[$tok[i]$]
	<set name="i" expr="$i$+1">
</while>
Fonctionne en UTF-8 avec option="notnull"
<br>

<get name="tok" value="$tokenTest$" token="é" option="null">
Token é $tok.count$ ->
<set name="i" expr="1">
<while expr="$i$<=$tok.count$">
	[$tok[i]$]
	<set name="i" expr="$i$+1">
</while>
Fonctionne en UTF-8 avec option="null"
 <br>
</font>
</body>
</html>

	


20240507