Mysql
 sql >> база данни >  >> RDS >> Mysql

как да съхранявам знаци за акцент върху знаци в моята база данни

UTF-8 е (обикновено) „безопасно“ кодиране за всеки набор от знаци в света. (Не винаги е най-ефикасният и има някои аргументи, които трябва да се направят, че Unicode не представя CJK скриптовете със своя модел „унифициран хан“, но продължаваме напред...)

Въпреки това е вероятно вашата интерфейсна програма(и) да не се превежда правилно към/от UTF-8. Например, ó => ó изглежда, че данните UTF-8 (където един знак може да бъде разпределен в различен брой байтове) ви се представят с помощта на еднобайтово европейско кодиране, като ISO-8859-15 или MS- CP-1451 или подобен.

Вие сте вероятно съхраняване на данните правилно, но зареждане то неправилно. Ако просто използвате mysql терминална програма или подобна, уверете се, че вашият терминал е настроен да използва UTF-8 (на Unix/Linux система, locale вероятно трябва да е нещо, завършващо на .utf8 , напр. моят има LANG=en_US.utf8 )

Ако изтегляте данни с помощта на GUI инструмент или подобен, проверете неговия панел Настройки/Предпочитания за набора от знаци.

Ако връщате неправилно преведените знаци обратно в приложение, което сте написали, вижте инструментите на вашия език за настройка на локала. (Може би INSERT рутините са правилни, но SELECT рутините не са правилни?)

И ако това се изпраща в мрежата, уверете се, че вашите (XML|HTML|XHTML) файлове имат charset=utf8 декларирани на подходящите места, или преведете обратно от UTF-8 към набора от знаци на вашия документ (ако е възможно), като използвате нещо като iconv при вмъкване на текст от базата данни. (Повечето набори от символи, различни от Unicode, могат да представляват само подмножество на Unicode, разбира се; например наборът ISO-8859-15 върши прилична работа при покриването на европейски езици, но няма поддръжка за системи за писане на кирилица, арабски или CJK, така че възможно е да не успеете да преведете символ.) В Perl можете да използвате аргументи за предаване за open или използвайте binmode за да настроите прозрачен слой за превод на набор от знаци върху поток "filehandle".




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Актуализация на MySQL с избор от друга таблица

  2. Неправилна стойност на низа:„\xEF\xBF\xBD“ за колона

  3. Грешка в MySQL #2014 - Командите не са синхронизирани; не можете да изпълните тази команда сега

  4. Детерминистична функция в mysql

  5. SQL - изберете редове, които имат еднаква стойност в две колони