Как декодировать из неизвестной кодировки в PHP? - PullRequest
0 голосов
/ 16 января 2019

Мой вопрос отличается от этого один . Я пытаюсь исправить неисправную кодировку, но я не знаю, что делать дальше.

В моей базе данных у меня есть это имя:

mysql> select filename from file WHERE filename LIKE 'MAC%';
+-------------------------------------------------+
| filename                                        |
+-------------------------------------------------+
| MAC-1600PVå–扱説明書.pdf                   |
+-------------------------------------------------+
1 row in set (0.00 sec)

Но в моей файловой системе файл называется:

$ ls files/*MAC*
files/MAC-1600PV取扱説明書.pdf

Я попытался распаковать обе строки из PHP, и содержимое отличается:

Последовательность utf-8, считанная из файловой системы:

=> "MAC-1600PV取扱説明書"
>>> unpack('C*', $u)
...
7 => 48,
8 => 48,
9 => 80,
10 => 86,
11 => 195,
12 => 165,
13 => 226,
14 => 128,
15 => 147,
16 => 195,
17 => 166,
18 => 226,

А для чтения из базы данных:

...
7 => 48,
8 => 48,
9 => 80,
10 => 86,
11 => 229,
12 => 143,
13 => 150,
14 => 230,
15 => 137,
16 => 177,

Так что в какой-то момент я потерял оригинальную кодировку, и я понятия не имею, как исправить мою базу данных, которая находится в utf8mb4.

Любой совет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...