PNP (MMBT4403) based solenoid driver?
A few things don't make sense.  The page you linked to mentioned it is a 5 V solenoid, but the datasheet is in chinese and I didn't see a clear answer to what its DC resistance is.  If it is really 4.5 &Omega; as you show, then it would draw 1.1 A at 5 V.  However, with 30 &Omega; in series and 12 V applied, you will only get 1.6 V accross the solenoid and 350 mA will flow thru it.  That would yield a lot less force.  Since this solenoid has a return spring, it might not even be enough to overcome the spring.

I don't like the carefully balanced voltage divider on the base of the transistor.  You seem to have done the calculations carefully enough to be a bit below the threshold when the digial signal is at 5 V, and enough to turn on the transistor when it is at 0 V.  However, I'd be worried about the transistor still being partially on and leaking some current at 540 mV on its base, especially at the upper end of the temperature limit.

I guess you are going thru these contortions because the signal is inverted such that you want the solenoid on when low and off when high.  My first reaction if I really needed that would be to use a digital inverter.  For a few pennies, you can flip the signal and then use a more normal low side driver.  Or failing that for some reason, use another transistor to solidly switch the high side driver on and off.  Also, why does this solenoid need to be driven from a 12 V supply?  If your 5 V supply is produced by a switcher, then it would be more efficient and easier all around to drive the solenoid from 5 V.

Since in this case you ultimately only want to switch the solenoid between 0 V and 1.6 V, you could use a PNP in emitter follower configuration to drive the solenoid from the 5 V supply when the base is driven low: