Bech32 addresses use a custom character set of 32 characters - all case insensitive letters (26) and numbers (10), minus "1", "b", "i" and "o" (outside of the first 3 characters "bc1", known as the human readable part and the separator). This has the advantage of being impossible to make mistakes regarding upper or lower case, as well as generating smaller QR codes. You can read more about this in
BIP 173.
So, characters that are excluded in generating Bech32 and P2PKH addresses are different.
Bech32: 1 , b , i , o
P2PKH: O , I ( uppercase letter) , l (lowercase letter) , 0
Am I right?
I wonder why "b" and "i" are excluded in Bech32 addresses. I think uppercase letter "I" and lowercase letter "l" can cause visual ambiguity much more than "b" and "i". Every one will distinguish "b" and "i" from other characters easily.