Lua, 103103 91 bytes
s,l=...s:gsub('.',load'c=(...):gsub("%W","%%%1")b=b or not s:find(c..c,1,1)and s:find(c,1,1)')print(b%l-1,b//l) Ungolfed version:
s,l=... --Take in haystack and line width as args s:gsub('.',function (d) --For each character in s c=d:gsub("%W","%%%1") --ApplyFor escapeeach character toin non-alphanumericss b=b or not s:find(c..c,1,1)and s:find(c,1,1) --If there is only one instance of c, store location end) print(b%l-1,b//l) --Print results