У меня возникла проблема с методом удаления смайлов. Этот метод используется при загрузке стенограмм чата и проверяет наличие смайлов в имени пользователя, удаляя их, если они присутствуют. Он работает в локальной и промежуточной средах, но в реальной среде иногда работает для транскриптов с тем же именем пользователя, но не работает для других.
Вот такую ошибку я получил
2024-09-26 16:17:20.877 ERROR [whatsapp-api-service,64b76bd04750daa2,64b76bd04750daa2] 3200902 --- [http-nio-8002-exec-2] z.c.e.p.s.UUIDAuthenticationFilter : Request processing failed; nested exception is Error downloading transcript, U+1F413 ('.notdef') is not available in the font Helvetica, encoding: WinAnsiEncoding
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is Error downloading transcript, U+1F413 ('.notdef') is not available in the font Helvetica, encoding: WinAnsiEncoding
после удаления этого смайлика вручную через базу данных я смог загрузить расшифровку для этого конкретного пользователя
это код
private static final List EMOJI_RANGES = Arrays.asList(
new UnicodeRange(0x1F600, 0x1F64F), // Emoticons
new UnicodeRange(0x1F300, 0x1F5FF), // Misc Symbols and Pictographs
new UnicodeRange(0x1F680, 0x1F6FF), // Transport and Map Symbols
new UnicodeRange(0x2600, 0x26FF), // Misc Symbols
new UnicodeRange(0x2700, 0x27BF), // Dingbats
new UnicodeRange(0x1F900, 0x1F9FF), // Supplemental Symbols and Pictographs
new UnicodeRange(0x1FA70, 0x1FAFF), // Symbols and Pictographs Extended-A
new UnicodeRange(0x1F1E6, 0x1F1FF), // Regional Indicator Symbols
new UnicodeRange(0xFE00, 0xFE0F), // Variation Selectors
new UnicodeRange(0x1F000, 0x1F02F), // Mahjong Tiles
new UnicodeRange(0x1F0A0, 0x1F0FF), // Playing Cards
new UnicodeRange(0x1F700, 0x1F77F), // Alchemical Symbols
new UnicodeRange(0x1F780, 0x1F7FF), // Geometric Shapes Extended
new UnicodeRange(0x1F800, 0x1F8FF) // Supplemental Arrows and Symbols
);
private String removeEmojis(String input) {
StringBuilder result = new StringBuilder();
int length = input.length();
int i = 0;
while (i < length) {
int codePoint = input.codePointAt(i);
if (Character.isSupplementaryCodePoint(codePoint)) {
i += Character.charCount(codePoint);
continue;
}
if (!isEmoji(codePoint)) {
result.append(Character.toChars(codePoint));
}
i += Character.charCount(codePoint);
}
return result.toString();
}
Я написал модульные тесты для имени пользователя, вызвавшего ошибку, и все тесты прошли успешно. Я развернул код на промежуточном сервере, и он сработал как положено, успешно загрузив расшифровку имени пользователя с смайликами. Однако в реальной среде это работало для некоторых заявок с тем же именем пользователя, но не работало для других. Удалив смайлик непосредственно из базы данных, я смог загрузить расшифровку билета, который выдавал ошибку.
У меня возникла проблема с методом удаления смайлов. Этот метод используется при загрузке стенограмм чата и проверяет наличие смайлов в имени пользователя, удаляя их, если они присутствуют. Он работает в локальной и промежуточной средах, но в реальной среде иногда работает для транскриптов с тем же именем пользователя, но не работает для других. Вот такую ошибку я получил [code]2024-09-26 16:17:20.877 ERROR [whatsapp-api-service,64b76bd04750daa2,64b76bd04750daa2] 3200902 --- [http-nio-8002-exec-2] z.c.e.p.s.UUIDAuthenticationFilter : Request processing failed; nested exception is Error downloading transcript, U+1F413 ('.notdef') is not available in the font Helvetica, encoding: WinAnsiEncoding
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is Error downloading transcript, U+1F413 ('.notdef') is not available in the font Helvetica, encoding: WinAnsiEncoding [/code] после удаления этого смайлика вручную через базу данных я смог загрузить расшифровку для этого конкретного пользователя это код [code]private static final List EMOJI_RANGES = Arrays.asList( new UnicodeRange(0x1F600, 0x1F64F), // Emoticons new UnicodeRange(0x1F300, 0x1F5FF), // Misc Symbols and Pictographs new UnicodeRange(0x1F680, 0x1F6FF), // Transport and Map Symbols new UnicodeRange(0x2600, 0x26FF), // Misc Symbols new UnicodeRange(0x2700, 0x27BF), // Dingbats new UnicodeRange(0x1F900, 0x1F9FF), // Supplemental Symbols and Pictographs new UnicodeRange(0x1FA70, 0x1FAFF), // Symbols and Pictographs Extended-A new UnicodeRange(0x1F1E6, 0x1F1FF), // Regional Indicator Symbols new UnicodeRange(0xFE00, 0xFE0F), // Variation Selectors new UnicodeRange(0x1F000, 0x1F02F), // Mahjong Tiles new UnicodeRange(0x1F0A0, 0x1F0FF), // Playing Cards new UnicodeRange(0x1F700, 0x1F77F), // Alchemical Symbols new UnicodeRange(0x1F780, 0x1F7FF), // Geometric Shapes Extended new UnicodeRange(0x1F800, 0x1F8FF) // Supplemental Arrows and Symbols ); [/code] [code]private boolean isEmoji(int codePoint) { for (UnicodeRange range : EMOJI_RANGES) { if (range.contains(codePoint)) { return true; } } return false; } [/code] [code]private String removeEmojis(String input) { StringBuilder result = new StringBuilder(); int length = input.length(); int i = 0;
while (i < length) { int codePoint = input.codePointAt(i);
if (Character.isSupplementaryCodePoint(codePoint)) { i += Character.charCount(codePoint); continue; }
if (!isEmoji(codePoint)) { result.append(Character.toChars(codePoint)); }
private float addTranscriptTitle(PDPageContentStream contentStream, float yPosition) throws IOException { contentStream.setFont(PDType1Font.HELVETICA_BOLD, FONT_SIZE + 2); return addTextLine(contentStream, "Ticket Transcript:", yPosition - 20); } [/code] Я написал модульные тесты для имени пользователя, вызвавшего ошибку, и все тесты прошли успешно. Я развернул код на промежуточном сервере, и он сработал как положено, успешно загрузив расшифровку имени пользователя с смайликами. Однако в реальной среде это работало для некоторых заявок с тем же именем пользователя, но не работало для других. Удалив смайлик непосредственно из базы данных, я смог загрузить расшифровку билета, который выдавал ошибку.
У меня возникла проблема с методом удаления смайлов.
Этот метод используется при загрузке стенограмм чата и проверяет наличие смайлов в имени пользователя и удаляет их, если они есть. Он работает в локальной и промежуточной средах. Но в реальной...
Я использую iText для обработки различных шрифтов и смайлов, но смайлы не отображаются должным образом. Вместо этого они полностью удаляются. Это мои зависимости
Я использую функцию imagettftext в своем коде и обнаружил, что смайлы использовать нельзя.
Я попробовал множество решений, н о н е н а ш е л с п о с о б а п о л н о с т ь ю и х у д а л и т ь $ s t r i n g = r e m o v e _ e m o j i ( T e s t ⭐ ️ 🌈 )...
Я использую функцию imagettftext в своем коде и обнаружил, что смайлы использовать нельзя.
Я перепробовал множество решений, н о н е н а ш е л с п о с о б а п о л н о с т ь ю и х у д а л и т ь $ s t r i n g = r e m o v e _ e m o j i ( T e s t ⭐ ️ 🌈...
Я использую Slack Python SDK и читаю сообщения Slack через API. Я хочу удалить из текста смайлы и другие ненужные символы перед обработкой текста, как это сделать? Я работаю с английскими и немецкими символами, но в основном с английскими.
Насколько...