Hi mensen,
ik heb een encoding issue waar ik ondertussen behoorlijk gefrustreerd van raak.
De case is als volgt:
Ik haal op basis van CURL haal ik de volledige content binnen van een externe site. Vervolgens wil ik alle karakters met een accent vervangen door karakters zonder accent en daarna het geheel op het scherm tonen.
Wat heb ik zoal geprobeerd?
Volgens mb_detect_encoding is de binnengehaalde content UTF-8 gecodeerd.
Vooralsnog geen succes.
Preg_replace en eregi_replace werkt ook niet.
Het php-document is utf-8 gedecodeerd.
Ik word er een beetje zot van
Iemand nog tips?
ik heb een encoding issue waar ik ondertussen behoorlijk gefrustreerd van raak.
De case is als volgt:
Ik haal op basis van CURL haal ik de volledige content binnen van een externe site. Vervolgens wil ik alle karakters met een accent vervangen door karakters zonder accent en daarna het geheel op het scherm tonen.
Wat heb ik zoal geprobeerd?
Volgens mb_detect_encoding is de binnengehaalde content UTF-8 gecodeerd.
PHP:
1
2
3
4
5
| $search = explode(",", "ç,æ,œ,á,é,í,ó,ú,à,è,ì,ò,ù,ä,ë,ï,ö,ü,ÿ,â,ê,î,ô,û,å,ø,Ø,Å,Á,À,Â,Ä,È,É,Ê,Ë,Í,Î,Ï,Ì,Ò,Ó,Ô,Ö,Ú,Ù,Û,Ü,Ÿ,Ç,Æ,Œ"); $replace = explode(",", "c,ae,oe,a,e,i,o,u,a,e,i,o,u,a,e,i,o,u,y,a,e,i,o,u,a,o,O,A,A,A,A,A,E,E,E,E,I,I,I,I,O,O,O,O,U,U,U,U,Y,C,AE,OE"); $text = str_replace($search, $replace, $text); |
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
| $normalizeChars = array( 'Ŝ'=>'S', 'š'=>'s', 'Ð'=>'Dj','Ž'=>'Z', 'ž'=>'z', 'À'=>'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', 'ƒ'=>'f', 'ă'=>'a', 'î'=>'i', 'â'=>'a', 'ș'=>'s', 'ț'=>'t', 'Ă'=>'A', 'Î'=>'I', 'Â'=>'A', 'Ș'=>'S', 'Ț'=>'T', ); echo strtr($text, $normalizeChars); |
PHP:
1
2
| $text = iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text) $text = iconv("UTF-8", "ASCII//TRANSLIT", $text) |
Vooralsnog geen succes.
Preg_replace en eregi_replace werkt ook niet.
Het php-document is utf-8 gedecodeerd.
Ik word er een beetje zot van
Iemand nog tips?