Preventing tinyMCE from auto formatting selected blocks of content

You can try adding this to your functions.php file:

<?php
    function my_formatter($content) {
    $new_content="";
    $pattern_full="{(\[raw\].*?\[/raw\])}is";
    $pattern_contents="{\[raw\](.*?)\[/raw\]}is";
    $pieces = preg_split($pattern_full, $content, -1, PREG_SPLIT_DELIM_CAPTURE);

    foreach ($pieces as $piece) {
        if (preg_match($pattern_contents, $piece, $matches)) {
            $new_content .= $matches[1];
        } else {
            $new_content .= wptexturize(wpautop($piece));
        }
    }

    return $new_content;
}

remove_filter('the_content', 'wpautop');
remove_filter('the_content', 'wptexturize');

add_filter('the_content', 'my_formatter', 99);
?>

Once you’ve added that and saved the file, you can wrap the code you don’t want formatted with a shortcode:

[raw]Unformatted code[/raw]

SOURCE:
http://www.wprecipes.com/disable-wordpress-automatic-formatting-on-posts-using-a-shortcode

NOTE:
I haven’t tested this solution, but it comes from a reliable source.