The idea would be that you don't take any values directly from node_load result. You can either use entity wrapper(is not a part of this tutorial) or field get and view functions.
Source code viewer
// Those are wrong ways to do this. $body = $node->body['und'][0]['value']; $body = $node->body['en'][0]['value']; $body = $node->body[LANGUAGE_NONE][0]['value']; $body = $node->body[LANGUAGE_NONE][0]['safe_value']; // THE RIGHT WAY. // You start the regular way, with loading the entity you want to use. $node = node_load($nid); // Get renderable array. $output = field_get_items('node', $node, 'field_name'); // Get raw values. $output = field_view_field('node', $node, 'field_name'); // Raw value of a field, using "value" as an example. If the field is a term reference the value key is "tid" for an example. $field = field_get_items('node', $node, 'field_name'); $field_first_value = $field[0]['safe_value']; $field_first_value = $field[0]['tid']; // Render field with default settings. echo render(field_view_field('node', $node, 'field_name')); // Render field without label. // IN PROGRESS...Programming Language: PHP