I have a user with an email address similar to John.D'oe@mycompany.com. The user was created in AD with exchange. I realize it would probably be better to not have the apostrophe but this user was created many years ago so i would rather not change it.
When this user visits a calendar view in SharePoint 2013 the apostrophe causes a script error in the "_spAjaxCalendarInitWPQX()" function. That function then calls SP.UI.ApplicationPages.CalendarContainerFactory.create but does not properly encode the email property while it does encode the other properties correctly. Here is an example of the javascript that is generated with the names changed.
Because of this script error no items are loaded to the calendar and the ribbon does not function so the user is unable to add calendar items, change the view, or see scheduled events for any calendar in my farm. Is there any way i can fix or work around this issue without changing the user's email address?function _spAjaxCalendarInitWPQ2(){ SP.UI.ApplicationPages.CalendarContainerFactory.create(document.getElementById('ctl00_ctl39_g_f97dfade_ec0e_480f_95e6_aac9f3b71e38_ctl01_ctl00_ctl00'),{ctxId:'WPQ2',dataSources:[{id:'00000000-0000-0000-0000-000000000000',name:'',color:'',formUrl:'\u002fsandbox\u002fLists\u002fCal\u002fDispForm.aspx',primary:true, disableDrag:false}],userInfo:{current:{id:'110',loginName:'i:0#.w|domain\\johnd',displayName:'John D\u0027oe',email:'John.D'oe@mydomain.com'}},enablePeople:false,enableResource:false,usePostBack:false,canUserCreateItem:true,sharedPickerClientId:null,reservationContentTypeId:'0x0102004F51EFDEA49C49668EF9C6744C8CF87D',aM12String:'12:00 am',serviceUrl:'\u002fsandbox\u002f_layouts\u002f15\u002fCalendarService.ashx'},'month','3\u002f30\u002f2013',[{"Options":41,"Table":null,"DatePicker":null,"Dates":["2/24/2013","2/25/2013","2/26/2013","2/27/2013","2/28/2013","3/1/2013","3/2/2013","3/3/2013","3/4/2013","3/5/2013","3/6/2013","3/7/2013","3/8/2013","3/9/2013","3/10/2013","3/11/2013","3/12/2013","3/13/2013","3/14/2013","3/15/2013","3/16/2013","3/17/2013","3/18/2013","3/19/2013","3/20/2013","3/21/2013","3/22/2013","3/23/2013","3/24/2013","3/25/2013","3/26/2013","3/27/2013","3/28/2013","3/29/2013","3/30/2013","3/31/2013","4/1/2013","4/2/2013","4/3/2013","4/4/2013","4/5/2013","4/6/2013","4/7/2013"],"RangeJDay":[150534,150575],"Navs":null,"Items":{"Data":[],"Strings":[]}}]); }