java разница в String из бд и из исходного кода
Пытаюсь отправлять смайлы в телеграм бот. коды смайлов в бд, но вместо смайлов в сообщении приходит текст кода этого смайла а не сам эмоджи. однако, если ввести тот же код смайла в исходный код программы через String = "\ud83c\udf4f";
то все окей. Кроме того, сравнение одинакового кода в бд и тексте программы тоже не выполняется, то еть:
if(prodtype[2].equals("\ud83c\udf4f")) {
emm = "\ud83c\udf4f";
}
код выше не выполяется, хотя в бд и программе одинаковые полностью символы. В чем загвоздка?
Ответы (1 шт):
В базе нужно хранить не \ud83c\udf4f, а ?.
То что в коде записано как String s = "\ud83c\udf4f" преобразуется компилятором в String s = "?";
PS: преобразовать можно прямо в IntelliJ IDEA поставив курсор на строку, нажав Alt+Enter и выбрав в меню Replace unicode... или онлайн конвертером