Why don't you just check if the string is utf8 or not, and change convert it
accordingly?

$out = trim((mb_detect_encoding($input, 'UTF-8', 'ISO-8859-1') == 'UTF-8' ?
$input : utf8_encode($input)));

It may not be the most elegant version, but I can't think of anything
simpler right now.

sincerely
louis


2011/8/30 Merlin Morgenstern <merlin.morgenst...@googlemail.com>

> Hi there,
>
> I am trying to find a solution for decoding the same string from 2
> different character sets (UTF-8, Latin-1)
>
> Looks like in the case of latin-1 I need to add utf8_encode before to get
> the same results. Here is an example
>
> // utf-8
> $input = urldecode('%20%C3%**9Cbersetzung%20franz');
> $output = trim(($input));
> $output2 = urlencode($output);
> echo $input.'<br>'.$output.'<br>'.$**output2;
> echo '<a href="'.$output2.'">output 2</a>';
>
> echo '<hr>';
> // latin 1
> $input = urldecode('%DCbersetzung+**franz');
> $out = trim(utf8_encode($input));
> $out2 = urlencode($out);
> echo $input.'<br>'.$out.'<br>'.$**out2;
> echo '<a href="'.$out2.'">output 2</a>';
>
>
> The latin-1 seems to need the utf8-encode to get the same result. Has
> anybody an idea on how to solve this? I need a function that works for
> latin-1 and UTF-8.
>
> Thank you in advance for any help,
>
> Merlin
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>

Reply via email to