Вставка и отображение неанглийских шрифтов в MySQL

0

У меня есть файл excel с неанглийскими символами. когда я открываю файл excel, я получаю случайные английские символы. Но когда я меняю шрифт на этот язык, я могу читать действительный текст.

Но проблема в том, что когда я загружаю данные из этого файла excel в mysql через php, я получаю только те случайные английские символы. Я не получаю язык, который мне нужен в mysql или php.

Я изменил набор символов в utf-8 в mysql, а также использовал:

mysql_query('SET collation_server=utf8_general_ci');
mysql_query('SET collation_connection=utf8_general_ci');
mysql_query('SET collation_database=utf8_general_ci');

mysql_query('SET character_set_server = utf8');
mysql_query('SET character_set_database = utf8');
mysql_query('SET character_set_results = utf8');
mysql_query('SET character_set_client = utf8');
mysql_query('SET character_set_connection=utf8');
mysql_query('SET names utf8;');
mysql_query('SET character_set utf8;');

после соединения php-mysql.

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

Спасибо.

  • 0
    Сделайте шестнадцатеричный дамп на столбце, содержащем эти «случайные символы» (например: SELECT HEX(column) WHERE ... и расскажите нам, что вы получаете
  • 0
    я получаю это: 62676857673B675B5B663B204668706174753B 62676857673B675B5B663B204668706174753B 62676857673B675B5B663B204668706174753B 62676857673B675B5B663B204668706174753B 62676857673B675B5B663B204668706174753B 62676857673B675B5B663B204668706174753B 62676857673B675B5B663B204668706174753B
Показать ещё 4 комментария
Теги:

1 ответ

0
Лучший ответ

Если вам действительно нужно перейти к определенному шрифту, чтобы отобразить символы (а не просто правильно установить кодировку), то у вас есть специальная "визуальная кодировка" для шрифтов, в которой задействованы символы, являющиеся нормальными символами ASCII, но глифы, сопоставленные с этими символами шрифта, не выглядят похожими на те символы ASCII.

Это ужасный, ужасный хак, который никогда не может работать в Интернете. Иногда было необходимо в старые времена (до Unicode) представлять необычные языки, у которых не было официального кодирования, но в наши дни почти все имеет правильную кодовую точку.

Если это то, о чем вы говорите, я боюсь, вам придется пройти через каждый символ ASCII, посмотреть на глиф, на который он указывает, и узнать, что указывает код Юникода для символа, который является символом действительно представляет. Это даст вам сопоставление с пользовательским шрифтом в Unicode, которое вам нужно будет использовать для преобразования всех ваших данных из текущего формата.

Итак, что такое язык и какой шрифт?

(в стороне: используйте mysql_set_charset(), чтобы установить кодировку соединения MySQL с PHP, а не любое из вышеприведенных утверждений.)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню