You need to create your own sort algorithm, using sorting by type detection, as described here .
You must have a function that normalizes the string, that is, remove the special characters and accent. This should be used in creating a DataTables sort algorithm, by extending the $.fn.dataTableExt.oSort
object.
Once created, the column that will use this algorithm must be specified in the DataTables startup object, in the aoColumns
key, as seen here .
In your case, the javascript would look like this:
// Esta é a função que normalizará as string no momento da comparação.
// É necessário substituir aqui qualquer caracter que seja possível
// ter acentuação. Coloque apenas alguns como exemplo.
function clearString (str) {
return str.toLowerCase()
.replace(/[áãà]/g, 'a')
.replace(/é/g, 'e')
.replace(/í/g, 'i')
.replace(/[óõô]/g, 'o')
.replace(/[úü]/g, 'u')
.replace(/ç/g, 'c');
}
$(document).ready(function() {
// Aqui são criados os plugins de ordenação. O nome deve ser separado
// por traços '-' e é necessário criar duas versões do algorítmo,
// uma para ordenação ascendente e outra para descendente, ambas
// com o sulfixo relativo.
$.fn.dataTableExt.oSort['clear-string-asc'] = function (x, y) {
return clearString(x) > clearString(y) ? 1 : -1;
};
$.fn.dataTableExt.oSort['clear-string-desc'] = function (x, y) {
return clearString(x) < clearString(y) ? 1 : -1;
};
// Aqui, a propriedade 'aoColumns' deve receber uma array com os
// plugins de ordenação. No exemplo, a primeira coluna usará o plugin
// 'clear-string' quando o valor for do tipo string, especificado pela
// propriedade 'sType'. Caso queria manter a ordenação padrão, apenas
// passe 'null', não deixe de preencher cada coluna da tabela, caso
// ocorrerá contrário um erro. Como sua tabela tem 5 colunas, 5 itens
// são passados na array.
$('#example').dataTable({
"sPaginationType": "full_numbers",
'aoColumns': [
{ 'sType': 'clear-string' },
null,
null,
null,
null
]
});
});
I believe that from here I can implement it according to your needs. Remember to supplement the string normalization function.