View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
17278 | Bug reports | Other | public | 2021-04-30 06:17 | 2022-06-21 20:44 |
Reporter | Jmantysalo | Assigned To | gabrieljenik | ||
Priority | normal | Severity | minor | ||
Status | closed | Resolution | suspended | ||
Product Version | 4.5.x | ||||
Summary | 17278: Characted encoding error in file attachment title | ||||
Description | Characters outside ascii are not shwon correctly in a file updload question comment- and title-fields. | ||||
Steps To Reproduce | Make a survey with a question "Send a photo of someone always complaining about bugs in LimeSurvey. Give his/her name in the title." Activate it. Take a picture of me. Send it by the survey putting Mäntysalo to the title field. Export results as CSV (or PDF). You will see "title":"M\u00e4ntysalo" in the resulting file. | ||||
Tags | No tags attached. | ||||
Attached Files | limesurvey_survey_658595.lss (17,739 bytes)
<?xml version="1.0" encoding="UTF-8"?> <document> <LimeSurveyDocType>Survey</LimeSurveyDocType> <DBVersion>444</DBVersion> <languages> <language>en</language> </languages> <groups> <fields> <fieldname>gid</fieldname> <fieldname>sid</fieldname> <fieldname>group_order</fieldname> <fieldname>randomization_group</fieldname> <fieldname>grelevance</fieldname> </fields> <rows> <row> <gid><![CDATA[6264]]></gid> <sid><![CDATA[658595]]></sid> <group_order><![CDATA[1]]></group_order> <randomization_group/> <grelevance/> </row> </rows> </groups> <group_l10ns> <fields> <fieldname>id</fieldname> <fieldname>gid</fieldname> <fieldname>group_name</fieldname> <fieldname>description</fieldname> <fieldname>language</fieldname> <fieldname>sid</fieldname> <fieldname>group_order</fieldname> <fieldname>randomization_group</fieldname> <fieldname>grelevance</fieldname> </fields> <rows> <row> <id><![CDATA[8060]]></id> <gid><![CDATA[6264]]></gid> <group_name><![CDATA[G1]]></group_name> <description/> <language><![CDATA[en]]></language> <sid><![CDATA[658595]]></sid> <group_order><![CDATA[1]]></group_order> <randomization_group/> <grelevance/> </row> </rows> </group_l10ns> <questions> <fields> <fieldname>qid</fieldname> <fieldname>parent_qid</fieldname> <fieldname>sid</fieldname> <fieldname>gid</fieldname> <fieldname>type</fieldname> <fieldname>title</fieldname> <fieldname>preg</fieldname> <fieldname>other</fieldname> <fieldname>mandatory</fieldname> <fieldname>encrypted</fieldname> <fieldname>question_order</fieldname> <fieldname>scale_id</fieldname> <fieldname>same_default</fieldname> <fieldname>relevance</fieldname> <fieldname>modulename</fieldname> </fields> <rows> <row> <qid><![CDATA[186426]]></qid> <parent_qid><![CDATA[0]]></parent_qid> <sid><![CDATA[658595]]></sid> <gid><![CDATA[6264]]></gid> <type><![CDATA[|]]></type> <title><![CDATA[picture]]></title> <other><![CDATA[N]]></other> <mandatory><![CDATA[N]]></mandatory> <encrypted><![CDATA[N]]></encrypted> <question_order><![CDATA[1]]></question_order> <scale_id><![CDATA[0]]></scale_id> <same_default><![CDATA[0]]></same_default> <relevance><![CDATA[1]]></relevance> <modulename/> </row> </rows> </questions> <question_l10ns> <fields> <fieldname>id</fieldname> <fieldname>qid</fieldname> <fieldname>question</fieldname> <fieldname>help</fieldname> <fieldname>script</fieldname> <fieldname>language</fieldname> </fields> <rows> <row> <id><![CDATA[247628]]></id> <qid><![CDATA[186426]]></qid> <question><![CDATA[Send a photo of someone always complaining about bugs in LimeSurvey. Give his/her name in the title.]]></question> <help/> <script/> <language><![CDATA[en]]></language> </row> </rows> </question_l10ns> <question_attributes> <fields> <fieldname>qid</fieldname> <fieldname>attribute</fieldname> <fieldname>value</fieldname> <fieldname>language</fieldname> </fields> <rows> <row> <qid><![CDATA[186426]]></qid> <attribute><![CDATA[allowed_filetypes]]></attribute> <value><![CDATA[png, gif, doc, odt, jpg, jpeg, pdf, png, heic]]></value> <language/> </row> <row> <qid><![CDATA[186426]]></qid> <attribute><![CDATA[clear_default]]></attribute> <value><![CDATA[N]]></value> <language/> </row> <row> <qid><![CDATA[186426]]></qid> <attribute><![CDATA[cssclass]]></attribute> <value/> <language/> </row> <row> <qid><![CDATA[186426]]></qid> <attribute><![CDATA[hidden]]></attribute> <value><![CDATA[0]]></value> <language/> </row> <row> <qid><![CDATA[186426]]></qid> <attribute><![CDATA[hide_tip]]></attribute> <value><![CDATA[0]]></value> <language/> </row> <row> <qid><![CDATA[186426]]></qid> <attribute><![CDATA[max_filesize]]></attribute> <value><![CDATA[10240]]></value> <language/> </row> <row> <qid><![CDATA[186426]]></qid> <attribute><![CDATA[max_num_of_files]]></attribute> <value><![CDATA[1]]></value> <language/> </row> <row> <qid><![CDATA[186426]]></qid> <attribute><![CDATA[min_num_of_files]]></attribute> <value><![CDATA[0]]></value> <language/> </row> <row> <qid><![CDATA[186426]]></qid> <attribute><![CDATA[page_break]]></attribute> <value><![CDATA[0]]></value> <language/> </row> <row> <qid><![CDATA[186426]]></qid> <attribute><![CDATA[question_template]]></attribute> <value><![CDATA[file_upload]]></value> <language/> </row> <row> <qid><![CDATA[186426]]></qid> <attribute><![CDATA[random_group]]></attribute> <value/> <language/> </row> <row> <qid><![CDATA[186426]]></qid> <attribute><![CDATA[save_as_default]]></attribute> <value><![CDATA[N]]></value> <language/> </row> <row> <qid><![CDATA[186426]]></qid> <attribute><![CDATA[show_comment]]></attribute> <value><![CDATA[1]]></value> <language/> </row> <row> <qid><![CDATA[186426]]></qid> <attribute><![CDATA[show_title]]></attribute> <value><![CDATA[1]]></value> <language/> </row> <row> <qid><![CDATA[186426]]></qid> <attribute><![CDATA[statistics_graphtype]]></attribute> <value><![CDATA[0]]></value> <language/> </row> <row> <qid><![CDATA[186426]]></qid> <attribute><![CDATA[statistics_showgraph]]></attribute> <value><![CDATA[1]]></value> <language/> </row> </rows> </question_attributes> <surveys> <fields> <fieldname>sid</fieldname> <fieldname>gsid</fieldname> <fieldname>admin</fieldname> <fieldname>expires</fieldname> <fieldname>startdate</fieldname> <fieldname>adminemail</fieldname> <fieldname>anonymized</fieldname> <fieldname>faxto</fieldname> <fieldname>format</fieldname> <fieldname>savetimings</fieldname> <fieldname>template</fieldname> <fieldname>language</fieldname> <fieldname>additional_languages</fieldname> <fieldname>datestamp</fieldname> <fieldname>usecookie</fieldname> <fieldname>allowregister</fieldname> <fieldname>allowsave</fieldname> <fieldname>autonumber_start</fieldname> <fieldname>autoredirect</fieldname> <fieldname>allowprev</fieldname> <fieldname>printanswers</fieldname> <fieldname>ipaddr</fieldname> <fieldname>refurl</fieldname> <fieldname>showsurveypolicynotice</fieldname> <fieldname>publicstatistics</fieldname> <fieldname>publicgraphs</fieldname> <fieldname>listpublic</fieldname> <fieldname>htmlemail</fieldname> <fieldname>sendconfirmation</fieldname> <fieldname>tokenanswerspersistence</fieldname> <fieldname>assessments</fieldname> <fieldname>usecaptcha</fieldname> <fieldname>usetokens</fieldname> <fieldname>bounce_email</fieldname> <fieldname>attributedescriptions</fieldname> <fieldname>emailresponseto</fieldname> <fieldname>emailnotificationto</fieldname> <fieldname>tokenlength</fieldname> <fieldname>showxquestions</fieldname> <fieldname>showgroupinfo</fieldname> <fieldname>shownoanswer</fieldname> <fieldname>showqnumcode</fieldname> <fieldname>bouncetime</fieldname> <fieldname>bounceprocessing</fieldname> <fieldname>bounceaccounttype</fieldname> <fieldname>bounceaccounthost</fieldname> <fieldname>bounceaccountpass</fieldname> <fieldname>bounceaccountencryption</fieldname> <fieldname>bounceaccountuser</fieldname> <fieldname>showwelcome</fieldname> <fieldname>showprogress</fieldname> <fieldname>questionindex</fieldname> <fieldname>navigationdelay</fieldname> <fieldname>nokeyboard</fieldname> <fieldname>alloweditaftercompletion</fieldname> <fieldname>googleanalyticsstyle</fieldname> <fieldname>googleanalyticsapikey</fieldname> <fieldname>tokenencryptionoptions</fieldname> <fieldname>ipanonymize</fieldname> </fields> <rows> <row> <sid><![CDATA[658595]]></sid> <gsid><![CDATA[1]]></gsid> <admin><![CDATA[Jori Mäntysalo]]></admin> <expires><![CDATA[2021-05-07 07:02:00]]></expires> <adminemail><![CDATA[jori.mantysalo@tuni.fi]]></adminemail> <anonymized><![CDATA[N]]></anonymized> <format><![CDATA[I]]></format> <savetimings><![CDATA[N]]></savetimings> <template><![CDATA[inherit]]></template> <language><![CDATA[en]]></language> <additional_languages/> <datestamp><![CDATA[Y]]></datestamp> <usecookie><![CDATA[I]]></usecookie> <allowregister><![CDATA[I]]></allowregister> <allowsave><![CDATA[I]]></allowsave> <autonumber_start><![CDATA[2]]></autonumber_start> <autoredirect><![CDATA[I]]></autoredirect> <allowprev><![CDATA[I]]></allowprev> <printanswers><![CDATA[I]]></printanswers> <ipaddr><![CDATA[N]]></ipaddr> <refurl><![CDATA[N]]></refurl> <showsurveypolicynotice><![CDATA[0]]></showsurveypolicynotice> <publicstatistics><![CDATA[I]]></publicstatistics> <publicgraphs><![CDATA[I]]></publicgraphs> <listpublic><![CDATA[I]]></listpublic> <htmlemail><![CDATA[I]]></htmlemail> <sendconfirmation><![CDATA[I]]></sendconfirmation> <tokenanswerspersistence><![CDATA[I]]></tokenanswerspersistence> <assessments><![CDATA[I]]></assessments> <usecaptcha><![CDATA[E]]></usecaptcha> <usetokens><![CDATA[N]]></usetokens> <bounce_email><![CDATA[inherit]]></bounce_email> <emailresponseto><![CDATA[inherit]]></emailresponseto> <emailnotificationto><![CDATA[inherit]]></emailnotificationto> <tokenlength><![CDATA[-1]]></tokenlength> <showxquestions><![CDATA[I]]></showxquestions> <showgroupinfo><![CDATA[I]]></showgroupinfo> <shownoanswer><![CDATA[I]]></shownoanswer> <showqnumcode><![CDATA[I]]></showqnumcode> <bounceprocessing><![CDATA[N]]></bounceprocessing> <showwelcome><![CDATA[I]]></showwelcome> <showprogress><![CDATA[I]]></showprogress> <questionindex><![CDATA[-1]]></questionindex> <navigationdelay><![CDATA[-1]]></navigationdelay> <nokeyboard><![CDATA[I]]></nokeyboard> <alloweditaftercompletion><![CDATA[I]]></alloweditaftercompletion> <googleanalyticsstyle/> <googleanalyticsapikey/> <tokenencryptionoptions/> <ipanonymize><![CDATA[N]]></ipanonymize> </row> </rows> </surveys> <surveys_languagesettings> <fields> <fieldname>surveyls_survey_id</fieldname> <fieldname>surveyls_language</fieldname> <fieldname>surveyls_title</fieldname> <fieldname>surveyls_description</fieldname> <fieldname>surveyls_welcometext</fieldname> <fieldname>surveyls_endtext</fieldname> <fieldname>surveyls_policy_notice</fieldname> <fieldname>surveyls_policy_error</fieldname> <fieldname>surveyls_policy_notice_label</fieldname> <fieldname>surveyls_url</fieldname> <fieldname>surveyls_urldescription</fieldname> <fieldname>surveyls_email_invite_subj</fieldname> <fieldname>surveyls_email_invite</fieldname> <fieldname>surveyls_email_remind_subj</fieldname> <fieldname>surveyls_email_remind</fieldname> <fieldname>surveyls_email_register_subj</fieldname> <fieldname>surveyls_email_register</fieldname> <fieldname>surveyls_email_confirm_subj</fieldname> <fieldname>surveyls_email_confirm</fieldname> <fieldname>surveyls_dateformat</fieldname> <fieldname>surveyls_attributecaptions</fieldname> <fieldname>email_admin_notification_subj</fieldname> <fieldname>email_admin_notification</fieldname> <fieldname>email_admin_responses_subj</fieldname> <fieldname>email_admin_responses</fieldname> <fieldname>surveyls_numberformat</fieldname> <fieldname>attachments</fieldname> </fields> <rows> <row> <surveyls_survey_id><![CDATA[658595]]></surveyls_survey_id> <surveyls_language><![CDATA[en]]></surveyls_language> <surveyls_title><![CDATA[Charset bug]]></surveyls_title> <surveyls_description/> <surveyls_welcometext/> <surveyls_endtext/> <surveyls_policy_notice/> <surveyls_policy_notice_label/> <surveyls_url/> <surveyls_urldescription/> <surveyls_email_invite_subj><![CDATA[Invitation to participate in a survey]]></surveyls_email_invite_subj> <surveyls_email_invite><![CDATA[Dear {FIRSTNAME}, you have been invited to participate in a survey. The survey is titled: "{SURVEYNAME}" "{SURVEYDESCRIPTION}" To participate, please click on the link below. Sincerely, {ADMINNAME} ({ADMINEMAIL}) ---------------------------------------------- Click here to do the survey: {SURVEYURL} If you do not want to participate in this survey and don't want to receive any more invitations please click the following link: {OPTOUTURL} If you are blacklisted but want to participate in this survey and want to receive invitations please click the following link: {OPTINURL}]]></surveyls_email_invite> <surveyls_email_remind_subj><![CDATA[Reminder to participate in a survey]]></surveyls_email_remind_subj> <surveyls_email_remind><![CDATA[Dear {FIRSTNAME}, Recently we invited you to participate in a survey. We note that you have not yet completed the survey, and wish to remind you that the survey is still available should you wish to take part. The survey is titled: "{SURVEYNAME}" "{SURVEYDESCRIPTION}" To participate, please click on the link below. Sincerely, {ADMINNAME} ({ADMINEMAIL}) ---------------------------------------------- Click here to do the survey: {SURVEYURL} If you do not want to participate in this survey and don't want to receive any more invitations please click the following link: {OPTOUTURL}]]></surveyls_email_remind> <surveyls_email_register_subj><![CDATA[Survey registration confirmation]]></surveyls_email_register_subj> <surveyls_email_register><![CDATA[Dear {FIRSTNAME}, You, or someone using your email address, have registered to participate in an online survey titled {SURVEYNAME}. To complete this survey, click on the following URL: {SURVEYURL} If you have any questions about this survey, or if you did not register to participate and believe this email is in error, please contact {ADMINNAME} at {ADMINEMAIL}.]]></surveyls_email_register> <surveyls_email_confirm_subj><![CDATA[Confirmation of your participation in our survey]]></surveyls_email_confirm_subj> <surveyls_email_confirm><![CDATA[Dear {FIRSTNAME}, this email is to confirm that you have completed the survey titled {SURVEYNAME} and your response has been saved. Thank you for participating. If you have any further questions about this email, please contact {ADMINNAME} on {ADMINEMAIL}. Sincerely, {ADMINNAME}]]></surveyls_email_confirm> <surveyls_dateformat><![CDATA[9]]></surveyls_dateformat> <email_admin_notification_subj><![CDATA[Response submission for survey {SURVEYNAME}]]></email_admin_notification_subj> <email_admin_notification><![CDATA[Hello, A new response was submitted for your survey '{SURVEYNAME}'. Click the following link to see the individual response: {VIEWRESPONSEURL} Click the following link to edit the individual response: {EDITRESPONSEURL} View statistics by clicking here: {STATISTICSURL}]]></email_admin_notification> <email_admin_responses_subj><![CDATA[Response submission for survey {SURVEYNAME} with results]]></email_admin_responses_subj> <email_admin_responses><![CDATA[Hello, A new response was submitted for your survey '{SURVEYNAME}'. Click the following link to see the individual response: {VIEWRESPONSEURL} Click the following link to edit the individual response: {EDITRESPONSEURL} View statistics by clicking here: {STATISTICSURL} The following answers were given by the participant: {ANSWERTABLE}]]></email_admin_responses> <surveyls_numberformat><![CDATA[0]]></surveyls_numberformat> </row> </rows> </surveys_languagesettings> <themes> <theme> <sid>658595</sid> <template_name>tuni_fruity</template_name> <config> <options>inherit</options> </config> </theme> </themes> <themes_inherited> <theme> <sid>658595</sid> <template_name>tuni_fruity</template_name> <config> <options> <container>on</container> <zebrastriping>off</zebrastriping> <stickymatrixheaders>off</stickymatrixheaders> <greyoutselected>off</greyoutselected> <hideprivacyinfo>off</hideprivacyinfo> <crosshover>off</crosshover> <showpopups>1</showpopups> <notables>1</notables> <showclearall>off</showclearall> <questionhelptextposition>top</questionhelptextposition> <fixnumauto>off</fixnumauto> <questionborder>on</questionborder> <questioncontainershadow>on</questioncontainershadow> <bodybackgroundcolor>#ffffff</bodybackgroundcolor> <fontcolor>#444444</fontcolor> <questionbackgroundcolor>#ffffff</questionbackgroundcolor> <backgroundimage>off</backgroundimage> <brandlogo>on</brandlogo> <brandlogofile>upload/themes/survey/tuni_fruity/files/tunilogo.jpg</brandlogofile> <animatebody>off</animatebody> <bodyanimationduration>500</bodyanimationduration> <animatequestion>off</animatequestion> <questionanimationduration>500</questionanimationduration> <animatealert>off</animatealert> <alertanimationduration>500</alertanimationduration> <animatecheckbox>on</animatecheckbox> <checkboxanimationduration>500</checkboxanimationduration> <animateradio>on</animateradio> <radioanimationduration>500</radioanimationduration> <font>roboto</font> <cssframework>noto </cssframework> </options> </config> </theme> </themes_inherited> </document> | ||||
Bug heat | 6 | ||||
Complete LimeSurvey version number (& build) | Versio 4.5.1+210420 | ||||
I will donate to the project if issue is resolved | No | ||||
Browser | |||||
Database type & version | N/A | ||||
Server OS (if known) | |||||
Webserver software & version (if known) | |||||
PHP Version | N/A | ||||
In browse response and download file it's OK ? It's json encoded here … And when we export : we don't replace anything in CSV or PDF https://github.com/LimeSurvey/LimeSurvey/blob/373c424be617f63b2d0a20256591c51c74af89a5/application/helpers/admin/export/Writer.php#L182 And idea on when show it better ? And array in CSV file is impossible. |
|
I'm not familiar with JSON, but at least https://www.ietf.org/rfc/rfc4627.txt says "All Unicode characters may be placed within the quotation marks except for the characters that must be escaped:", so why that escape in the first place? |
|
Hello Jmantysalo, |
|
On vacation; will check this two weeks later. |
|
The issue still persist, because it's unclear if it's an issue … and what it's the best way. We must unsure :
except with invalid filename. Here : it's the way we show when export … |
|
Couldn't reproduce it. results-survey658595 (1).csv (923 bytes)
"Response ID","Date submitted","Last page","Start language","Seed","Date started","Date last action","Send a photo of someone always complaining about bugs in LimeSurvey. Give his/her name in the title.","filecount - Send a photo of someone always complaining about bugs in LimeSurvey. Give his/her name in the title." "2","","","en","1058053574","2022-06-07 19:35:13","2022-06-07 19:35:13","","" "3","2022-06-07 19:47:10","1","en","914169454","2022-06-07 19:36:49","2022-06-07 19:47:10","[{ ""title"":""Mäntysalo"",""comment"":""Mäntysalo"",""size"":""5.755859375"",""name"":""vnc.png"",""filename"":""futmp_93mz9yrimahs396_png"",""ext"":""png"" }]","1" "4","2022-06-07 19:59:01","1","en","1772828406","2022-06-07 19:55:00","2022-06-07 19:59:01","[{ ""title"":""Mäntysalo"",""comment"":""Mäntysalo"",""size"":""9.1005859375"",""name"":""arrow.png"",""filename"":""fu_8bcmagmrjqjr7wc"",""ext"":""png"" }]","1" |
|
Will wait for Jmantysalo feedback |
|
Tested on Version 5.3.14+220516, and yes, this has been corrected in some other ticket. This can be closed. |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2021-04-30 06:17 | Jmantysalo | New Issue | |
2021-04-30 06:17 | Jmantysalo | File Added: limesurvey_survey_658595.lss | |
2021-04-30 11:58 | ollehar | Priority | none => normal |
2021-05-05 10:13 | DenisChenu | Note Added: 64247 | |
2021-05-05 12:04 | Jmantysalo | Note Added: 64249 | |
2022-06-06 14:42 | gabrieljenik | Assigned To | => gabrieljenik |
2022-06-06 14:42 | gabrieljenik | Status | new => feedback |
2022-06-06 14:42 | gabrieljenik | Note Added: 70231 | |
2022-06-06 14:42 | gabrieljenik | Bug heat | 4 => 6 |
2022-06-06 16:06 | Jmantysalo | Note Added: 70244 | |
2022-06-06 16:06 | Jmantysalo | Status | feedback => assigned |
2022-06-06 16:11 | DenisChenu | Note Added: 70246 | |
2022-06-09 22:11 | gabrieljenik | Note Added: 70328 | |
2022-06-09 22:11 | gabrieljenik | File Added: results-survey658595 (1).csv | |
2022-06-09 22:11 | gabrieljenik | File Added: Charset_bug (1).pdf | |
2022-06-09 22:36 | gabrieljenik | Status | assigned => feedback |
2022-06-09 22:36 | gabrieljenik | Note Added: 70329 | |
2022-06-18 10:06 | Jmantysalo | Note Added: 70409 | |
2022-06-18 10:06 | Jmantysalo | Status | feedback => assigned |
2022-06-21 20:44 | gabrieljenik | Status | assigned => closed |
2022-06-21 20:44 | gabrieljenik | Resolution | open => no change required |
2022-06-21 20:44 | gabrieljenik | Resolution | no change required => suspended |