Существует много тем о latin1_swedisch_ci для преобразования utf8. Но как насчет другого пути? Я занимаюсь довольно долгое время с этой проблемой, и до сих пор я не нашел решения. Поскольку я не знаю, что еще делает доступ к этой базе данных, я не хочу менять кодировку символов в таблице.
У меня в таблице есть столбец, который отформатирован в latin1_swedisch_ci. Теперь я должен писать запросы в php. Эта база данных содержит немецкие и французские имена, что означает, что у меня есть такие символы, как ö, ä, ô и т. Д. Как я могу это сделать?
В качестве примера, если я хочу запросить имя «Bürki», тогда мне нужно написать что-то вроде $ name = 'Bürki'. Есть ли способ конвертировать его в latin1_swedisch_ci без замены строк для этих специальных символов?
iconv()
преобразует строки из одной кодировки в другую.
Интересующие вас кодировки – utf-8
и iso-8859-1
– последние эквивалентны latin1
.
«Шведские», «немецкие» и т. Д. Локализации влияют на такие проблемы, как сортировка, кодировка символов всегда одна и та же.
PS.
то я должен написать что-то вроде $ name = 'Bürki'.
Если вы кодируете исходный файл как UTF-8, вы можете напрямую написать Bürki
. (Затем вам нужно будет преобразовать эту строку в iso-8859-1
)
Я согласен с Pekka, однако я бы попытался использовать функцию utf8_decode (), потому что возможно, что iconv не установлен …
Iconv, однако, более мощный – он может сделать транслитерацию для примера. Но для этого я считаю utf8_decode () достаточно.