none
Символы из странных кодировок в кодировку, которую использует MSSQL RRS feed

  • Общие обсуждения

  • Добрый день,

    Мне иногда попадаются файлы в названии которых присутствуют символы в различных кодировках. При сохранении файла в названии файла эти символы отсаются, в MSSQL же они (эти символы) подменяются символами из другой кодировки. В результате названия файлов и сохраненные ссылки в MSSQL не сопадают. Приходится вручную все это контролировать:

    stirng = stirng.Replace("é", "e");

    stirng= stirng.Replace("Â", "A");

    stirng = stirng.Replace("¿", "?");

    stirng = stirng.Replace("´", "'");

    stirng = stirng.Replace("ë", "e");

    и т.д.

    Подскажите, где посмотреть решение для автоматизации процесса?

    Заранее благодарен!

    4 ноября 2011 г. 10:26

Все ответы

  • Проверьте тип колонки в MSSQL. Если он char(x)/varchar(x). - замените на nchar(x)/nvarchar(x). Тогда символы будут сохраняться нормально.
    4 ноября 2011 г. 13:08
    Модератор
  • Тип nvarchar... Видимо где-то еще... 
    4 ноября 2011 г. 16:49
  • А в какой кодировке запрос отправляется на сервер? В принципе поддерживается юникодная кодировка скриптов и запросов, где никаких преобразований делать не нужно.
    7 ноября 2011 г. 8:55
  • Как вы считываете имя файла и можете ли проверить правильность отправки запроса в mysql, т.е. посмотреть insert или update запрос, имена файлов в этих запросах отображаются верно?

    Также проверьте в какой кодировке создана таблица mysql или создайте еще одну тестовую таблицу, указав ей кодировку utf8, примерно так:

    CREATE TABLE t1 ( ... )
    CHARACTER SET utf8 COLLATE utf8_general_ci;
    

     


    Для связи [mail]
    7 ноября 2011 г. 10:00