Iconv convert from UTF-8 to Windows-1250 doesn't work

I have experienced a similar issue. While reading CSV file, word "Česká republika" was read as "Èeská republika".

This solved it for me:

iconv( "Windows-1250", "UTF-8", ($string));

The � character is an indication that your text is being interpreted as UTF-8, but at this point an invalid byte sequence was encountered. Meaning, you're not serving UTF-8, yet the client is reading it as UTF-8. Which would imply that iconv is working just fine and whoever is reading the result just didn't get the message that it should be interpreting it as Windows-1250.

See What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text and Handling Unicode Front To Back In A Web App.


Is old post but you can convert UTF-8 to Windows-1252 and you will have same effect:

$str = "ľaľa ho papľuha, ogrcal mi krpce!"
$str = mb_convert_encoding( $str, "Windows-1252", "UTF-8" );

but if you realy need Windows-1250 you can use THIS SOLUTION and adapt to your need.