W Codeigniterze (a właściwie w samym php) występuje pewien problem z apostrofami jeśli są zapisywane w bazie i ponownie wyświetlane w polu input w formularzu.
Jako przykładu użyję pola Model w bazie Samochody.

Po dodaniu rekordu wyświetla się on poprawnie.

Natomiast problem pojawia się przy edycji tego rekordu kiedy znak apostrofu jest wyświetlany w polu input:

Zamiast jego znaku pojawiają się 'krzaczki' ASCII.
Dzieje się tak przy domyślnych ustawieniach pola input:
<?php
$data = array(
'name' => 'car_model',
'value' => set_value('car_model', $row->car_model),
'class' => 'form-control',
'placeholder' => 'Model',
'type' => 'text',
);
echo form_input($data);
?>
Aby z tego wybrnąć należy dodać html_entity_decode() do funkcji set_value oraz zmienić ostatni parament na FALSE:
...
'value' => set_value('car_model', html_entity_decode($row->car_model, ENT_QUOTES, 'UTF-8'), FALSE)
...
Teraz formularz będzie wyświetlał poprawną wartość:
