WordPress загружает javascript со странным набором символов

#javascript #wordpress #character-encoding

#javascript #wordpress #кодировка символов

Вопрос:

Я использую WordPress 5.1 с Yoast SEO. Yoast SEO полагается на файл components.js который выдает следующую ошибку в консоли (я отредактировал это для краткости — это очень длинная строка)

 Uncaught SyntaxError: Invalid regular expression: 
/[A-Za-zªµºÀ-ÖØ-öø-ƺƻƼ-Æ¿Ç€-ǃDŽ-ʓʔʕ-ʯʰ-ʸʻ-ËË-Ë‘Ë -ˤˮͰ-ͳͶ-ͷͺͻ-ͽͿΆΈ-ΊΌΎ-Î
  

Идентичная строка не отображается в файле, хотя файл содержит следующую строку при просмотре в текстовом редакторе:

 [" "A-Za-zªµºÀ-ÖØ-öø-ƺƻƼ-Æ¿Ç€-ǃDŽ-ʓʔʕ-ʯʰ-ʸʻ-ËË-Ë‘Ë -ˤˮͰ-ͳͶ-ͷͺÍ
  

Строка выглядит следующим образом при просмотре панели управления веб-хостингом:

 [" "A-Za-zªµºÀ-ÖØ-öø-ƺƻƼ-ƿǀ-ǃDŽ-ʓʔʕ-ʯʰ-ʸʻ-ˁː-ˑˠ-ˤˮͰ-ͳͶ-ͷͺͻ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁ҂Ҋ-ԯԱ-Ֆՙ՚-՟ա-և։ःऄ-हऻ
  

Единственная странность заключается в том, что в базе данных было сочетание наборов символов (latin1, utf8 и utf8mb4), которые я попытался исправить, и все таблицы теперь используют utf8mb4_uncode_ci (это было выбрано, поскольку это был самый распространенный набор символов в БД).

Существует также сочетание типов таблиц InnoDB и MyISAM. На сайте есть несколько Â символов по всему сайту, что, насколько я могу судить, является распространенным показателем проблем с набором символов.

Итак, я предполагаю, что по какой-то причине WordPress загружает файл javascript с неправильным набором символов, который создает ошибки.

Есть ли способ это исправить? Я немного сбит с толку.

Ответ №1:

Исправлено.

Это произошло из-за того, что blog_charset было установлено значение UTF-7 в wp_options . Изменение этого на UTF-8 решило проблему