In my opinion, this is not a bug (and probably not a feature either) but the expected behavior.
bash's printf is a slightly modified version of the underlying printf() function provided by the C standard library. The printf(3) manual explicitly states that the precision is a number of _bytes_, not a number of characters. So this is the expected result with multibyte characters like 'á'.
You might want to switch to a ISO-8859 character set if you want your 'á' character to only take one byte of memory.
In my opinion, this is not a bug (and probably not a feature either) but the expected behavior.
bash's printf is a slightly modified version of the underlying printf() function provided by the C standard library. The printf(3) manual explicitly states that the precision is a number of _bytes_, not a number of characters. So this is the expected result with multibyte characters like 'á'.
You might want to switch to a ISO-8859 character set if you want your 'á' character to only take one byte of memory.