La variable ici est le Locale par défaut qui peut être différent sur les appareils.
Pour vous aider à comprendre, voici la vue hexagonale de la sortie de la chaîne que vous avez postée :
d9 a0 70 72 6f 64 75 63 74 d9 a0
qui s'affiche sur mon PC (UTF-8) comme :
٠product٠
Suivez donc les conseils donnés dans les autres réponses et continuez également à rechercher "Locale".
Pour être plus précis, il peut être utile de savoir dans quelle région les autres dispositifs ne fonctionnent pas.
C'est un problème intéressant.
Vous pouvez également essayer de recréer cette situation sur votre propre émulateur en utilisant l'application "Custom Locale" qui est préinstallée sur l'émulateur. Je ne peux pas dire avec certitude que la langue dont vous avez besoin est supportée.
En me basant sur les excellentes recherches de @RalfKleberhoff, j'ai pu recréer ce problème sur un émulateur en utilisant l'application préinstallée 'Custom Locale' et en la remplaçant par la locale 'ar' (la première de la liste). (Principalement pour ma propre éducation - mais peut être utile pour vous aussi).
Ce qui est encore plus éclairant ( ?) c'est si vous avez programmé quelque chose comme :
String.format("0product0")
c'est-à-dire pas de formatage - cela fonctionne dans la locale 'ar' comme dans l'affichage des chiffres 'en', donc il semble que le problème soit limité à l'aspect formatage ("%...") de cette fonction - clair comme de l'eau de roche.