Как преобразовать кодировку базы данных MS Access в UTF-8? - PullRequest
7 голосов
/ 07 марта 2011

В настоящее время я работаю над устаревшим приложением Classic ASP + MS-Access.Недавно я преобразовал все файлы .asp в UTF-8 из кодировки ISO-8859 (Windows).

Проблема, с которой я столкнулся сейчас, заключается в том, что текст, хранящийся в базе данных (французский с акцентированными символами), отображается неправильно при отображениивнутри веб-страниц, потому что кодировки несовместимы.Как преобразовать кодировку базы данных MS Access из ISO-8859 в UTF-8?

Ответы [ 3 ]

5 голосов
/ 01 октября 2014

Как преобразовать кодировку базы данных MS Access из ISO-8859 в UTF-8?

Вы не можете. Access может обрабатывать текст Unicode, но он НЕ сохраняет его как UTF-8. Существуют способы прямой вставки текста в кодировке UTF-8 в поля Access Text, но это приводит к странному поведению, как показано в моем другом ответе здесь .

Для приложения ASP просто используйте страницы .asp, закодированные как UTF-8, скажите IIS создать вывод UTF-8 (через директиву <%@ CODEPAGE = 65001 %>), и пусть IIS и драйвер OLEDB Access обрабатывают преобразование между «Access» Юникод "и UTF-8.

Подробный пример Access, Classic ASP и UTF-8 см. В моем ответе здесь:

Захват и вставка текста Unicode (кириллица) в базу данных MS Access

Важное примечание

Помните, что вам НЕ следует использовать базу данных Access в качестве внутреннего хранилища данных для веб-приложения; Microsoft настоятельно рекомендует не делать (ссылка: здесь ).

1 голос
/ 10 марта 2011

Я закончил тем, что использовал Server.HTMLEncode для текста, выходящего из моей базы данных.Он полностью сломал весь HTML-код, который я там хранил, поэтому мне пришлось написать некрасивый хак, чтобы избежать преобразования HTML-тегов в HTML-безопасные строки.Теперь это работает, но это, конечно, не самое элегантное решение ...

1 голос
/ 08 марта 2011

Вы можете написать оператор Access UPDATE, который использует функцию StrConv для преобразования текста в Unicode.

См. http://www.techonthenet.com/access/functions/string/strconv.php

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