I have seen a range of solutions/opinions on this on forums, such as buying level shifters to be safe, but this isnt really ideal as I have 16+ encoders so that will be a lot of extra parts. Is it just worth buying another LCD compatible with 3.3v instead ?
I simply connect the pull up resistors to the 3V3 and run the display etc at 5V. things work OK. If my memory is close a logic zero is about 1.1 volts on the I2C bus.
If they have pull up resistors they probably are 10K to 5V. That would drive 0.17 mA through the 3V3 protection diodes, well within tolerance. The op did not mention any other devices on the bus. If it is a worry the pull up resistors can be disabled or removed on the module. A lot simpler then adding more parts and chances for an oops.