I had the same problem.
I think that pagespeed incorrectly reports the main reason, which is not so much the lack of an encoding definition, but the lack of a content-type definition. Without this being defined, he / most browsers assume that text / html is sent back, where the encoding is not really defined, especially since the .woff2 file will contain non-standard characters (ASCII!).
My solution (it may not work if your apache is significantly different, for example, does not allow addtype in .htaccess ) should have added the following to .htaccess in the corresponding root of the served site:
AddType application/x-font-woff2 .woff2
(found this resource )
Worked for me!
.htaccess
Mark bradley
source share