Bonjour désolé si ce message est idiot mais j'ai besoin de savoir si j'ai eu une corde à Java comme ceci. Je veux connaître la valeur INT du char ou de la Char Combien d'octets utiliseraient dans un mysql. P> S'il vous plaît soyez gentil merci beaucoup. Et oui j'ai fait quelques recherches. p> quelque chose comme ça. P> 51 3 would use X bytes in a mysqlTable{X}
32 would use X bytes in a mysqlTable{X}
67 C would use X bytes in a mysqlTable{X}
100 d would use X bytes in a mysqlTable{X}
115 s would use X bytes in a mysqlTable{X}
32 would use X bytes in a mysqlTable{X}
70 F would use X bytes in a mysqlTable{X}
114 r would use X bytes in a mysqlTable{X}
233 é would use X bytes in a mysqlTable{X}
65533 � would use X bytes in a mysqlTable{X}
68 D would use X bytes in a mysqlTable{X}
233 é would use X bytes in a mysqlTable{X}
65533 � would use X bytes in a mysqlTable{X}
82 R would use X bytes in a mysqlTable{X}
105 i would use X bytes in a mysqlTable{X}
99 c would use X bytes in a mysqlTable{X}
32 would use X bytes in a mysqlTable{X}
67 C would use X bytes in a mysqlTable{X}
104 h would use X bytes in a mysqlTable{X}
111 o would use X bytes in a mysqlTable{X}
112 p would use X bytes in a mysqlTable{X}
105 i would use X bytes in a mysqlTable{X}
110 n would use X bytes in a mysqlTable{X}
32 would use X bytes in a mysqlTable{X}
40 ( would use X bytes in a mysqlTable{X}
77 M would use X bytes in a mysqlTable{X}
97 a would use X bytes in a mysqlTable{X}
115 s would use X bytes in a mysqlTable{X}
116 t would use X bytes in a mysqlTable{X}
101 e would use X bytes in a mysqlTable{X}
114 r would use X bytes in a mysqlTable{X}
112 p would use X bytes in a mysqlTable{X}
105 i would use X bytes in a mysqlTable{X}
101 e would use X bytes in a mysqlTable{X}
99 c would use X bytes in a mysqlTable{X}
101 e would use X bytes in a mysqlTable{X}
115 s would use X bytes in a mysqlTable{X}
41 ) would use X bytes in a mysqlTable{X}
3 Réponses :
de MySQL Référencez: P>
https://dev.mysql.com/doc/refman /8.0/fr/char.html p>
Si vous déclarez «caractère», utilisez le même numéro quel que soit le nombre de caractères de la chaîne. Au lieu de cela, vous utilisez "Varchar" qui dépend de la longueur spécifiée. P>
Par exemple la chaîne: p>
Salut Matteo mais je veux savoir combien d'octets chaque caractère consumerait que je veux dire que m utiliserait 1 Y utiliserait aussi 1 mais je veux savoir quand un charcuter à l'intérieur de MyString consommerait plus de 1 octet
Je veux dire chaque valeur aka car combien d'octets utiliseront dans mysql parce que j'utilise la classement latin1_swedish_ci, je dois faire une validation au cas où aucun personnage ne correspondait pas à ma table p> blockQuote>
mysql "latin1" est un Version modifiée < / a> de Windows-1252 , ce qui signifie qu'il inclut tous les caractères de Windows-1252 , et définit également des mappages pour les quelques caractères Windows-1252 feuilles non définies: p>
Pour les entrées "indéfinies" dans CP1252, MySQL traduit 0x81 sur Unicode 0x0081, 0x8D à 0x008D, 0x8F à 0x008F, 0x90 à 0x0090 et 0x9D à 0x009D. p> blockQuote>
Je ne m'attends pas à ce que Java ait une assistance directe pour "MySQL Latin1" car ce n'est pas un jeu de caractères standard. Donc, pour chaque personnage, vous pouvez vérifier si c'est p>
- Dans la plage U + 0000 - U + 007F (ASCII) LI>
- dans la plage U + 00a0 - U + 00FF (où CP1252 et ISO Latin-1 coïncide) li>
- L'une des personnages Windows-1252 cartes vers la plage 0x80 - 0x9f (voir le page wikipedia ) li>
- U + 0081, U + 008D, U + 008F, U + 0090, ou U + 009D LI> ul>
Salut joni merci mate pouvez-vous donner un exemple de caractère qui utiliserait plus de 1 octet dans un Latin1
Il n'y a pas de tel caractère, latin 1 est un codage d'octets unique. Tous 256 caractères informatiques sont codés avec un octet
ISO-8859-1, Latin-1, comme il n'a que 256 valeurs: Java convertira d'autres caractères Unicode en ? Code>, un espace réservé. Souvent, l'espace réservé sera code> comme ci-dessus. Peut-être utile: string.getbytes ("Windows-1252") code> - pour ceux-ci? S.
Le nombre d'octets par caractère dans votre DB ne dépend pas de la manière dont votre chaîne stockée dans Java ou tout autre client écrit à votre DB. Cela dépend de l'ensemble de caractères défini pour vous DB, votre table ou une colonne spécifique. Une fois la chaîne reçue par dB, elle est convertie en dB / table de caractères définie par la table / colonne. Donc, juste pour répondre à votre question: Charset Latin1 contient toujours 1 octet par caractère. BTW Latin1 est mieux connu sous le nom de ISO-8859-1 et est définitivement un très standard de caractères et définitivement soutenu par Java. Voir Info sur les caractréets ici .
aussi je recommanderais Pour passer à une unité de caractères Unicode qui soutient tous les caractères dans toutes les langues. Les ordinateurs sont des ordinateurs utiles (peut allouer un nombre différent d'octets par char (1 à 3 si je me souviens bien) ou UTF-16 (toujours 2 octets par char). P>
sur le côté de Java à analyser vos cordes et diagnostiquent des problèmes liés à brandie, je suggérerais une bibliothèque open source Mgntutils (écrit par moi) qui a une classe utilitaire StringUnicodeenCoderDecoder. Cette classe fournit des méthodes statiques convertissant n'importe quelle chaîne en séquence Unicode Vise-Versa. Très simple et utile. Pour convertir String Vous venez de faire: P>
String codes = StringUnicodeEncoderDecoder.encodeStringToUnicodeSequence(myString);
Stackoverflow .com / questions / 5078314 / ...
Vous êtes juste une petite chose déroutante à mon avis puisque vous demandez à Java combien d'octets mysql utilisera pour une chaîne. Les octets MySQL utilisent dépendent du codage de champ dans la DB
salut s'il vous plaît voir ma question modifiée merci.