While this question is nine months old when I write this answer, I hope that this solution will at least help the next person who needs to solve this problem.
I am working with the jQuery dataTables plugin and trying to find a solution to this problem today when I came across this page.
I tried a suggestion from Yasen that I followed as shown here:
<td><span class="ui-icon ui-icon-folder-collapsed" style="background-position:center; display:inline-block;"></span></td>
While this centered the icon, the icon was not the expected icon.
Instead, the right side of one icon, the left side of another icon, and the space between them were displayed.
It seemed that the viewport had moved to the center, but the source of the ui-icon remained stationary.
Based on this observation, I used a little intuition to create the following (nicely formatted for clarity):
<td> <span style="background-position:center; display:inline-block;"> <span class="ui-icon ui-icon-folder-collapsed"></span> </span> </td>
This implementation did the trick!
EDIT:
I thought that was all about it, but when I get back to my code, I realized that there was still a class applied to mine that contained the style
text-align: center;
When I removed the class from, the ui icon was no longer centered!
After a little testing, I defined the following implementation as the right solution for centering jQuery ui-icon:
<td style="text-align: center;"> <span style="display:inline-block;"> <span class="ui-icon ui-icon-folder-collapsed"></span> </span> </td>
Glad I got it! Good luck.