Re: correct character decoding

From: Date: Tue, 30 Aug 2011 12:40:55 +0000
Subject: Re: correct character decoding
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-314653@lists.php.net to get a copy of this message
Am 30.08.2011 14:12, schrieb Louis Huppenbauer:
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
Hello Louis, thank you that solved the problem. Looks like I did not use the mb_detect_encoding properly in my tests. Regards, Merlin
2011/8/30 Merlin Morgenstern <merlin.morgenstern@googlemail.com <mailto:merlin.morgenstern@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


« previous php.general (#314653) next »