VirtueMart Forum

VirtueMart 2 + 3 + 4 => Virtuemart Development and bug reports => Topic started by: sandomatyas on October 29, 2026, 17:19:30 PM

Title: + in billing name and phone becomes a space (VM 4.8.4)
Post by: sandomatyas on October 29, 2026, 17:19:30 PM
VirtueMart 4.8.4. After checkout, a literal + in the billing name and phone is stored as a space. B+T Vill. Ltd becomes B T Vill. Ltd. A leading + on a phone number disappears.

prepareFieldDataSave() reads every user field with vRequest::getString($name, '', $data). Because the third argument is the already decoded data array, getString() calls filterUrl(), which runs urldecode(). PHP has already decoded the POST, so + becomes a space.