codebude / QRCoder

A pure C# Open Source QR Code implementation
MIT License
4.44k stars 1.08k forks source link

Issue with validation in QRCodes with special chars (atilde and deg) #419

Closed hellmer1234 closed 2 months ago

hellmer1234 commented 1 year ago

Type of issue

[ X ] Bug
[ ] Question (e.g. about handling/usage)
[ ] Request for new feature/improvement

Expected Behavior

When i put ° (° , unicode equivalent U+B0) or ã (ã , unicode equivalent U+E3) in name or addressline for swissQrCode, i want the code to be generated.

Current Behavior

When trying to use char ° or ã there is an error triggered : Name must match the following pattern as defined in pain.001: ^([a-zA-Z0-9.,;:'\ +-/()?*[]{}\`´~ ]|[!"#%&<>÷=@_$£]|[àáâäçèéêëìíîïñòóôöùúûüýßÀÁÂÄÇÈÉÊËÌÍÎÏÒÓÔÖÙÚÛÜÑ])*$ Stacktrace: at QRCoder.PayloadGenerator.SwissQrCode.Contact..ctor(String name, String zipCode, String city, String country, String streetOrAddressline1, String houseNumberOrAddressline2, AddressType addressType)

Possible Solution (optional)

Allow these specific characters in the validator scheme like it is for ñ for example

Steps to Reproduce (for bugs)

When trying the following strings in the payload, i encounter an error :

Your Environment

codebude commented 2 months ago

Hi @hellmer1234 ,

thanks for your bug report. This was fixed in PR #411 and will be part of the QRCoder 1.5.0 release.

hellmer1234 commented 2 months ago

Many thanks for all the job @codebude Tested version 1.5.0 and deployed into production. I was able to generate all the previous failing cases. Well done !