Charset en src bij form werkt niet goed

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Johan Liefers

Johan Liefers

27/01/2011 00:15:00
Quote Anchor link
Ik heb twee problemen bij mijn nieuwe website. Het eerste probleem is met de charset. Als ik utf-8 instel dan krijg ik in de tekst op de website zelf gekke tekens, en als ik het als iso-8859-1 instel krijg ik gekke tekens in de titel.
(ik haal de gegevens uit een mysql database die ook op utf-8 staat ingesteld.)
Hoe krijg ik dit opgelost?

Daarnaast heb ik een klein probleem met een formulier. Als ik src="Christine:blabla.html" dan werkt het formulier niet, als ik de dubbele punt vervang voor een - is het weer goed. Als ik sr="Van de hoofdredacteur: blabla.html" doe werkt het wel, hoe kan ik dit oplossen? Ik wil wel graag alle karakters kunnen blijven gebruiken, omdat ik zelf de links niet aanmaak, dat gebeurt door de gebruiker via het CMS.
ps. bij internet explorer gaat de pagina naar Christine:blabla.html ipv http://www.website.nl/map/Christine:blabla.html en bij chrome gebeurt er helemaal niks bij de submit knop
 
PHP hulp

PHP hulp

26/12/2024 13:28:30
 

27/01/2011 00:18:31
Quote Anchor link
Geen vreemde tekens als : / é " ' en weetikveel wat in je bestandsnaam zetten... Dat is sowieso wel handig.
 
Johan Liefers

Johan Liefers

27/01/2011 00:51:36
Quote Anchor link
Het is niet de bestandnaam, maar de titel van de pagina wat uit de mysql database wordt gehaald. En ik maak zelf niet de titels van de pagina maar dat doen de gebruikers, en het is wel handig als ze kunnen doen wat ze willen met de titel.
 
Kris Peeters

Kris Peeters

27/01/2011 09:21:43
Quote Anchor link
Het is een totaalpakket.
Als je voor utf-8 kiest, moet je zien dat je database tabellen in utf-8 staan, dat je utf-8 header mee stuurt, ...

Je kan ook sommige functies niet zomaar meer gebruiken op de zelfde manier, bv. htmlentities.
 
Johan Liefers

Johan Liefers

27/01/2011 12:47:34
Quote Anchor link
Ik heb de database wel in utf-8 staan, dat is het probleem niet. Het probleem was dat ik de title aanmaakte via $_GET['page'], dat heb ik veranderd door iedere titel zelf te definiëren of uit de database te halen en zo werkt het wel goed.

Nu blijft alleen het probleem met het form. Is echt de enige oplossing om geen speciale tekens te gebruiken? en zo ja hoe kun je de speciale tekens er dan uit filteren met php?
 
Kris Peeters

Kris Peeters

27/01/2011 12:58:58
Quote Anchor link
Je moet zien dat je formulier zijn data doorstuurt in utf-8.

Dat doe je bv. zo

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
<?php
// ...
$body = ' ... Wat je wil tonen ... ';
header('Content-Type: text/html; charset=utf-8');
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//NL" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
  <head>
    <meta http-equiv=content-type content="text/html; charset=UTF-8">
    <link rel="stylesheet" type="text/css" href="style.css"/>
  </head>
  <body>'
.PHP_EOL. $body .'
  </body>
</html>'
;
?>


Let op lijn 4 en lijn 9

Als je dit doet, en je zet daar een formulier, dan zal dat formulier de gegevens in utf-8 sturen

EDIT
Sowieso, wanneer je zo'n titel url waardig wil maken, zal je speciale tekens moeten vermijden. Elk systeem doet het zo.

Kijk hier eens
http://be2.php.net/manual/en/function.strtr.php

Hier staan wat functies/tips om speciale tekens om te zetten.

EDIT (2)
Ik heb dit net gevonden (hier: http://drupal.org/node/827484). Het lijkt te doen wat ik verwacht. Ik heb juist toegevoegd dat je spaties kan omzetten in underscores, door een parameter op true te zetten.

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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
<?php
/**
 * From Wordpress:
 * http://trac.wordpress.org/browser/trunk/wp-includes/formatting.php#L151
 */

function _accents_remove_accents($string, $space2underscore=false) {
  if (!preg_match('/[\x80-\xff]/', $string))
    return $string;

  if (_accents_seems_utf8($string)) {
    $chars = array(
      // Decompositions for Latin-1 Supplement
      chr(195).chr(128) => 'A', chr(195).chr(129) => 'A',
      chr(195).chr(130) => 'A', chr(195).chr(131) => 'A',
      chr(195).chr(132) => 'A', chr(195).chr(133) => 'A',
      chr(195).chr(135) => 'C', chr(195).chr(136) => 'E',
      chr(195).chr(137) => 'E', chr(195).chr(138) => 'E',
      chr(195).chr(139) => 'E', chr(195).chr(140) => 'I',
      chr(195).chr(141) => 'I', chr(195).chr(142) => 'I',
      chr(195).chr(143) => 'I', chr(195).chr(145) => 'N',
      chr(195).chr(146) => 'O', chr(195).chr(147) => 'O',
      chr(195).chr(148) => 'O', chr(195).chr(149) => 'O',
      chr(195).chr(150) => 'O', chr(195).chr(153) => 'U',
      chr(195).chr(154) => 'U', chr(195).chr(155) => 'U',
      chr(195).chr(156) => 'U', chr(195).chr(157) => 'Y',
      chr(195).chr(159) => 's', chr(195).chr(160) => 'a',
      chr(195).chr(161) => 'a', chr(195).chr(162) => 'a',
      chr(195).chr(163) => 'a', chr(195).chr(164) => 'a',
      chr(195).chr(165) => 'a', chr(195).chr(167) => 'c',
      chr(195).chr(168) => 'e', chr(195).chr(169) => 'e',
      chr(195).chr(170) => 'e', chr(195).chr(171) => 'e',
      chr(195).chr(172) => 'i', chr(195).chr(173) => 'i',
      chr(195).chr(174) => 'i', chr(195).chr(175) => 'i',
      chr(195).chr(177) => 'n', chr(195).chr(178) => 'o',
      chr(195).chr(179) => 'o', chr(195).chr(180) => 'o',
      chr(195).chr(181) => 'o', chr(195).chr(182) => 'o',
      chr(195).chr(182) => 'o', chr(195).chr(185) => 'u',
      chr(195).chr(186) => 'u', chr(195).chr(187) => 'u',
      chr(195).chr(188) => 'u', chr(195).chr(189) => 'y',
      chr(195).chr(191) => 'y',
      // Decompositions for Latin Extended-A
      chr(196).chr(128) => 'A', chr(196).chr(129) => 'a',
      chr(196).chr(130) => 'A', chr(196).chr(131) => 'a',
      chr(196).chr(132) => 'A', chr(196).chr(133) => 'a',
      chr(196).chr(134) => 'C', chr(196).chr(135) => 'c',
      chr(196).chr(136) => 'C', chr(196).chr(137) => 'c',
      chr(196).chr(138) => 'C', chr(196).chr(139) => 'c',
      chr(196).chr(140) => 'C', chr(196).chr(141) => 'c',
      chr(196).chr(142) => 'D', chr(196).chr(143) => 'd',
      chr(196).chr(144) => 'D', chr(196).chr(145) => 'd',
      chr(196).chr(146) => 'E', chr(196).chr(147) => 'e',
      chr(196).chr(148) => 'E', chr(196).chr(149) => 'e',
      chr(196).chr(150) => 'E', chr(196).chr(151) => 'e',
      chr(196).chr(152) => 'E', chr(196).chr(153) => 'e',
      chr(196).chr(154) => 'E', chr(196).chr(155) => 'e',
      chr(196).chr(156) => 'G', chr(196).chr(157) => 'g',
      chr(196).chr(158) => 'G', chr(196).chr(159) => 'g',
      chr(196).chr(160) => 'G', chr(196).chr(161) => 'g',
      chr(196).chr(162) => 'G', chr(196).chr(163) => 'g',
      chr(196).chr(164) => 'H', chr(196).chr(165) => 'h',
      chr(196).chr(166) => 'H', chr(196).chr(167) => 'h',
      chr(196).chr(168) => 'I', chr(196).chr(169) => 'i',
      chr(196).chr(170) => 'I', chr(196).chr(171) => 'i',
      chr(196).chr(172) => 'I', chr(196).chr(173) => 'i',
      chr(196).chr(174) => 'I', chr(196).chr(175) => 'i',
      chr(196).chr(176) => 'I', chr(196).chr(177) => 'i',
      chr(196).chr(178) => 'IJ',chr(196).chr(179) => 'ij',
      chr(196).chr(180) => 'J', chr(196).chr(181) => 'j',
      chr(196).chr(182) => 'K', chr(196).chr(183) => 'k',
      chr(196).chr(184) => 'k', chr(196).chr(185) => 'L',
      chr(196).chr(186) => 'l', chr(196).chr(187) => 'L',
      chr(196).chr(188) => 'l', chr(196).chr(189) => 'L',
      chr(196).chr(190) => 'l', chr(196).chr(191) => 'L',
      chr(197).chr(128) => 'l', chr(197).chr(129) => 'L',
      chr(197).chr(130) => 'l', chr(197).chr(131) => 'N',
      chr(197).chr(132) => 'n', chr(197).chr(133) => 'N',
      chr(197).chr(134) => 'n', chr(197).chr(135) => 'N',
      chr(197).chr(136) => 'n', chr(197).chr(137) => 'N',
      chr(197).chr(138) => 'n', chr(197).chr(139) => 'N',
      chr(197).chr(140) => 'O', chr(197).chr(141) => 'o',
      chr(197).chr(142) => 'O', chr(197).chr(143) => 'o',
      chr(197).chr(144) => 'O', chr(197).chr(145) => 'o',
      chr(197).chr(146) => 'OE',chr(197).chr(147) => 'oe',
      chr(197).chr(148) => 'R',chr(197).chr(149) => 'r',
      chr(197).chr(150) => 'R',chr(197).chr(151) => 'r',
      chr(197).chr(152) => 'R',chr(197).chr(153) => 'r',
      chr(197).chr(154) => 'S',chr(197).chr(155) => 's',
      chr(197).chr(156) => 'S',chr(197).chr(157) => 's',
      chr(197).chr(158) => 'S',chr(197).chr(159) => 's',
      chr(197).chr(160) => 'S', chr(197).chr(161) => 's',
      chr(197).chr(162) => 'T', chr(197).chr(163) => 't',
      chr(197).chr(164) => 'T', chr(197).chr(165) => 't',
      chr(197).chr(166) => 'T', chr(197).chr(167) => 't',
      chr(197).chr(168) => 'U', chr(197).chr(169) => 'u',
      chr(197).chr(170) => 'U', chr(197).chr(171) => 'u',
      chr(197).chr(172) => 'U', chr(197).chr(173) => 'u',
      chr(197).chr(174) => 'U', chr(197).chr(175) => 'u',
      chr(197).chr(176) => 'U', chr(197).chr(177) => 'u',
      chr(197).chr(178) => 'U', chr(197).chr(179) => 'u',
      chr(197).chr(180) => 'W', chr(197).chr(181) => 'w',
      chr(197).chr(182) => 'Y', chr(197).chr(183) => 'y',
      chr(197).chr(184) => 'Y', chr(197).chr(185) => 'Z',
      chr(197).chr(186) => 'z', chr(197).chr(187) => 'Z',
      chr(197).chr(188) => 'z', chr(197).chr(189) => 'Z',
      chr(197).chr(190) => 'z', chr(197).chr(191) => 's',
      // Euro Sign
      chr(226).chr(130).chr(172) => 'E'
    );

    $string = strtr($string, $chars);
  }

  else {
    // Assume ISO-8859-1 if not UTF-8
    $chars['in'] = chr(128).chr(131).chr(138).chr(142).chr(154).chr(158)
    .
chr(159).chr(162).chr(165).chr(181).chr(192).chr(193).chr(194)
    .
chr(195).chr(196).chr(197).chr(199).chr(200).chr(201).chr(202)
    .
chr(203).chr(204).chr(205).chr(206).chr(207).chr(209).chr(210)
    .
chr(211).chr(212).chr(213).chr(214).chr(216).chr(217).chr(218)
    .
chr(219).chr(220).chr(221).chr(224).chr(225).chr(226).chr(227)
    .
chr(228).chr(229).chr(231).chr(232).chr(233).chr(234).chr(235)
    .
chr(236).chr(237).chr(238).chr(239).chr(241).chr(242).chr(243)
    .
chr(244).chr(245).chr(246).chr(248).chr(249).chr(250).chr(251)
    .
chr(252).chr(253).chr(255);

    $chars['out'] = "EfSZszYcYuAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy";

    $string = strtr($string, $chars['in'], $chars['out']);
    $double_chars['in'] = array(chr(140), chr(156), chr(198), chr(208), chr(222), chr(223), chr(230), chr(240), chr(254));
    $double_chars['out'] = array('OE', 'oe', 'AE', 'DH', 'TH', 'ss', 'ae', 'dh', 'th');
    $string = str_replace($double_chars['in'], $double_chars['out'], $string);
  }

  
  if ($space2underscore == true) {
    $string = str_replace(' ', '_', $string );
  }

  
  return $string;
}


/**
 * From Wordpress:
 * http://trac.wordpress.org/browser/trunk/wp-includes/formatting.php#L86
 */

function _accents_seems_utf8($str) { // by bmorel at ssi dot fr
  for ($i=0; $i<strlen($str); $i++) {
    if (ord($str[$i]) < 0x80) continue;           // 0bbbbbbb
    elseif ((ord($str[$i]) & 0xE0) == 0xC0) $n=1; // 110bbbbb
    elseif ((ord($str[$i]) & 0xF0) == 0xE0) $n=2; // 1110bbbb
    elseif ((ord($str[$i]) & 0xF8) == 0xF0) $n=3; // 11110bbb
    elseif ((ord($str[$i]) & 0xFC) == 0xF8) $n=4; // 111110bb
    elseif ((ord($str[$i]) & 0xFE) == 0xFC) $n=5; // 1111110b
    else return false; // Does not match any model
    for ($j=0; $j<$n; $j++) { // n bytes matching 10bbbbbb follow ?
      if ((++$i == strlen($str)) || ((ord($str[$i]) & 0xC0) != 0x80))
      return false;
    }
  }

  return true;
}

?>
Gewijzigd op 27/01/2011 14:37:37 door Kris Peeters
 
Johan Liefers

Johan Liefers

30/01/2011 17:23:34
Quote Anchor link
Dat is wel een erg lange code om tekst om te zetten, het kan toch ook gewoon met:
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
18
<?php

function normalize ($string) {
    $table = array(
        'Š'=>'S', 'š'=>'s', '?'=>'Dj', '?'=>'dj', 'Ž'=>'Z', 'ž'=>'z', '?'=>'C', '?'=>'c', '?'=>'C', '?'=>'c',
        'À'=>'A', 'Á'=>'A', 'Â'=>'A', 'Ã'=>'A', 'Ä'=>'A', 'Å'=>'A', 'Æ'=>'A', 'Ç'=>'C', 'È'=>'E', 'É'=>'E',
        'Ê'=>'E', 'Ë'=>'E', 'Ì'=>'I', 'Í'=>'I', 'Î'=>'I', 'Ï'=>'I', 'Ñ'=>'N', 'Ò'=>'O', 'Ó'=>'O', 'Ô'=>'O',
        'Õ'=>'O', 'Ö'=>'O', 'Ø'=>'O', 'Ù'=>'U', 'Ú'=>'U', 'Û'=>'U', 'Ü'=>'U', 'Ý'=>'Y', 'Þ'=>'B', 'ß'=>'Ss',
        'à'=>'a', 'á'=>'a', 'â'=>'a', 'ã'=>'a', 'ä'=>'a', 'å'=>'a', 'æ'=>'a', 'ç'=>'c', 'è'=>'e', 'é'=>'e',
        'ê'=>'e', 'ë'=>'e', 'ì'=>'i', 'í'=>'i', 'î'=>'i', 'ï'=>'i', 'ð'=>'o', 'ñ'=>'n', 'ò'=>'o', 'ó'=>'o',
        'ô'=>'o', 'õ'=>'o', 'ö'=>'o', 'ø'=>'o', 'ù'=>'u', 'ú'=>'u', 'û'=>'u', 'ý'=>'y', 'ý'=>'y', 'þ'=>'b',
        'ÿ'=>'y', '?'=>'R', '?'=>'r',
    );

    
    return strtr($string, $table);
}


?>


Maar dan kom ik met een volgend probleem, want ik haal de pagina's uit een database met $_GET['page']. Als ik de url dan ga veranderen herkent hij de pagina uit de database niet meer.
Moet ik hier dan een extra kolom aanmaken voor de url en een aparte voor de titel?
 
Johan Liefers

Johan Liefers

01/02/2011 00:03:07
Quote Anchor link
Ik heb een nieuwe kolom in mijn database aangemaakt voor de url en nu wil ik daar de speciale karakters voor omzetten. Daar heb ik twee codes voor gebruikt, maar beiden werken niet goed.

Bij deze code stopt de return variabele na een ':', dus 'blabla:bla' wordt 'blabla-'
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?
setlocale(LC_ALL, 'en_US.UTF8');
function
toAscii($str) {
    $clean = iconv('UTF-8', 'ASCII//TRANSLIT', $str);
    $clean = preg_replace("/[^a-zA-Z0-9\/_| -]/", '', $clean);
    $clean = strtolower(trim($clean, '-'));
    $clean = preg_replace("/[\/_| -]+/", '-', $clean);

    return $clean;
}

?>


en bij deze code worden speciale karakters zoals ï weggelaten, dus beïnvloed wordt benvloed
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?
function remove_accent($str) {
  $a = array('À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î', 'Ï', 'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'ß', 'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î', 'ï', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', 'ø', 'ù', 'ú', 'û', 'ü', 'ý', 'ÿ', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', 'Œ', 'œ', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', 'Š', 'š', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', 'Ÿ', '?', '?', '?', '?', 'Ž', 'ž', '?', 'ƒ', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?', '?');
  $b = array('A', 'A', 'A', 'A', 'A', 'A', 'AE', 'C', 'E', 'E', 'E', 'E', 'I', 'I', 'I', 'I', 'D', 'N', 'O', 'O', 'O', 'O', 'O', 'O', 'U', 'U', 'U', 'U', 'Y', 's', 'a', 'a', 'a', 'a', 'a', 'a', 'ae', 'c', 'e', 'e', 'e', 'e', 'i', 'i', 'i', 'i', 'n', 'o', 'o', 'o', 'o', 'o', 'o', 'u', 'u', 'u', 'u', 'y', 'y', 'A', 'a', 'A', 'a', 'A', 'a', 'C', 'c', 'C', 'c', 'C', 'c', 'C', 'c', 'D', 'd', 'D', 'd', 'E', 'e', 'E', 'e', 'E', 'e', 'E', 'e', 'E', 'e', 'G', 'g', 'G', 'g', 'G', 'g', 'G', 'g', 'H', 'h', 'H', 'h', 'I', 'i', 'I', 'i', 'I', 'i', 'I', 'i', 'I', 'i', 'IJ', 'ij', 'J', 'j', 'K', 'k', 'L', 'l', 'L', 'l', 'L', 'l', 'L', 'l', 'l', 'l', 'N', 'n', 'N', 'n', 'N', 'n', 'n', 'O', 'o', 'O', 'o', 'O', 'o', 'OE', 'oe', 'R', 'r', 'R', 'r', 'R', 'r', 'S', 's', 'S', 's', 'S', 's', 'S', 's', 'T', 't', 'T', 't', 'T', 't', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'W', 'w', 'Y', 'y', 'Y', 'Z', 'z', 'Z', 'z', 'Z', 'z', 's', 'f', 'O', 'o', 'U', 'u', 'A', 'a', 'I', 'i', 'O', 'o', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'A', 'a', 'AE', 'ae', 'O', 'o');
  return str_replace($a, $b, $str);
}

function
clean_url($str)
{

  return strtolower(preg_replace(array('/[^a-zA-Z0-9 -]/', '/[ -]+/', '/^-|-$/'),
  array('', '-', ''), remove_accent($str)));
}

?>


weet iemand hoe ik dat op kan lossen?
Gewijzigd op 01/02/2011 00:07:22 door Johan Liefers
 
Kris Peeters

Kris Peeters

01/02/2011 10:12:47
Quote Anchor link
Johan Liefers op 30/01/2011 17:23:34:
Dat is wel een erg lange code om tekst om te zetten ...


Ja ... en dan?

Johan Liefers op 01/02/2011 00:03:07:
weet iemand hoe ik dat op kan lossen?


Mijn code al eens geprobeerd?

Zet dat in een include file, dan heb je er geen last mee dat de code zo lang is
 
Johan Liefers

Johan Liefers

01/02/2011 11:35:43
Quote Anchor link
Dat het lang is is inderdaad niet zo'n argument om het niet te gebruiken, maar bij jou code werden speciale tekens niet omgezet, zoals : '? etc.

Maar ik heb wat zitten combineren, en toen ik de volgende code vlak voor de return toevoegde werkte het wel goed.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?
$clean
= preg_replace("/[^a-zA-Z0-9\/_| -]/", '', $clean);
    $clean = strtolower(trim($clean, '-'));
    $clean = preg_replace("/[\/_| -]+/", '-', $clean);

    return $clean;
?>


Bedankt voor de hulp.
 
Harry nvt

Harry nvt

18/02/2011 04:16:21
Quote Anchor link
Dit lijkt wel erg veel op het graven van een ondergrondse tunnel terwijl je ook gewoon over de weg kan... tenminste bij sommige zaken die hierboven worden gemeld.

-zorg dat je database alswel je tabel(len) zijn ingesteld op collatie utf8_general_ci
-zorg dat je (tekst)velden ook op die collatie staan
-forceer altijd met een php header de tekstcodering utf-8. Dit voor het geval de meta-tag waarin je de tekstcodering op utf-8 zet, niet werkt. Kan gebeuren als apache default de charset iso-8859-1 met de charset header meestuurt (gebeurt helaas nog al eens; een beetje ISP zet die apaache default op uitsluitend text/html als charset header)

Geef na je connect met de database de volgende regel in:
mysql_set_charset ('utf8');

Ook ik heb veel hoofdbrekens gehad met charset problemen. Bovenstaande werkte voor mij.

(converteren naar utf-8 van eenmaal bestaande tekstvelden met foute of gemengde tekstcodering is ander verhaal..)
 



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.