Subject Re: [firebird-support] when to use introducer syntax for charachter sets?
Author Marsupilami79
Hello Michael,

thanks for your clarifications.
The statement about the usage of introducers is on Page 172 in the
middle of the page in a section with the heading "String Literal":
"An introducer will be required if the database column being searched
has a character set which is different from that of the client connection."

Best regards,

Jan

Am 02.03.2012 19:26, schrieb Michael Ludwig:
>
> Marsupilami79 schrieb am 23.02.2012 um 15:17 (+0100):
> >
> > I have a problem in understanding when to use the introducer syntax
> > for character sets.
>
> For literals. See here:
>
> http://dev.mysql.com/doc/refman/5.0/en/charset-literal.html
>
> > Helen Borrie states in the firebird books
>
> What page number?
>
> > that the introducer syntax should be used whenever a column is
> > searched and the connection character set is different from the
> > character set of that column:
> >
> > So in case I have a WIN1252 client connection and the database uses
> > UTF8, should I really always use something like
> > where name = _WIN1252 'Jörg'
>
> Not needed when you type in the characters in the proper connection
> encoding.
>
> But suppose in your connection you're going to execute a SQL script
> which happens to be encoded in UTF-8. In order not to depend on the
> connection encoding du jour, you'd play safe and use introducers in
> your script.
>
> > Why should I do that? Normally I would expect firebird to know that
> > everything is WIN1252, as this is the connection character set, and
> > do the necessary conversions without any further hints?
> >
> > Or should I use the introducer syntax only when I want to send some
> > bytes that are explicitly to be treated in a different way than the
> > connection character set?
> >
> > for example something like
> > where name = _UTF8 'Jörg'
> > when I have the 'Jörg' in an UTF8 encoded way?
>
> Exactly.
>
> --
> Michael Ludwig
>
> _ <!-- #ygrp-mkp { border: 1px solid #d8d8d8; font-family: Arial;
> margin: 10px 0; padding: 0 10px; } #ygrp-mkp hr { border: 1px solid
> #d8d8d8; } #ygrp-mkp #hd { color: #628c2a; font-size: 85%;
> font-weight: 700; line-height: 122%; margin: 10px 0; } #ygrp-mkp #ads
> { margin-bottom: 10px; } #ygrp-mkp .ad { padding: 0 0; } #ygrp-mkp .ad
> p { margin: 0; } #ygrp-mkp .ad a { color: #0000ff; text-decoration:
> none; } #ygrp-sponsor #ygrp-lc { font-family: Arial; } #ygrp-sponsor
> #ygrp-lc #hd { margin: 10px 0px; font-weight: 700; font-size: 78%;
> line-height: 122%; } #ygrp-sponsor #ygrp-lc .ad { margin-bottom: 10px;
> padding: 0 0; } a { color: #1e66ae; } #actions { font-family: Verdana;
> font-size: 11px; padding: 10px 0; } #activity { background-color:
> #e0ecee; float: left; font-family: Verdana; font-size: 10px; padding:
> 10px; } #activity span { font-weight: 700; } #activity
> span:first-child { text-transform: uppercase; } #activity span a {
> color: #5085b6; text-decoration: none; } #activity span span { color:
> #ff7900; } #activity span .underline { text-decoration: underline; }
> .attach { clear: both; display: table; font-family: Arial; font-size:
> 12px; padding: 10px 0; width: 400px; } .attach div a {
> text-decoration: none; } .attach img { border: none; padding-right:
> 5px; } .attach label { display: block; margin-bottom: 5px; } .attach
> label a { text-decoration: none; } blockquote { margin: 0 0 0 4px; }
> .bold { font-family: Arial; font-size: 13px; font-weight: 700; } .bold
> a { text-decoration: none; } dd.last p a { font-family: Verdana;
> font-weight: 700; } dd.last p span { margin-right: 10px; font-family:
> Verdana; font-weight: 700; } dd.last p span.yshortcuts { margin-right:
> 0; } div.attach-table div div a { text-decoration: none; }
> div.attach-table { width: 400px; } div.file-title a, div.file-title
> a:active, div.file-title a:hover, div.file-title a:visited {
> text-decoration: none; } div.photo-title a, div.photo-title a:active,
> div.photo-title a:hover, div.photo-title a:visited { text-decoration:
> none; } div#ygrp-mlmsg #ygrp-msg p a span.yshortcuts { font-family:
> Verdana; font-size: 10px; font-weight: normal; } .green { color:
> #628c2a; } .MsoNormal { margin: 0 0 0 0; } o { font-size: 0; } #photos
> div { float: left; width: 72px; } #photos div div { border: 1px solid
> #666666; height: 62px; overflow: hidden; width: 62px; } #photos div
> label { color: #666666; font-size: 10px; overflow: hidden; text-align:
> center; white-space: nowrap; width: 64px; } #reco-category {
> font-size: 77%; } #reco-desc { font-size: 77%; } .replbq { margin:
> 4px; } #ygrp-actbar div a:first-child { /* border-right: 0px solid
> #000;*/ margin-right: 2px; padding-right: 5px; } #ygrp-mlmsg {
> font-size: 13px; font-family: Arial, helvetica,clean, sans-serif;
> *font-size: small; *font: x-small; } #ygrp-mlmsg table { font-size:
> inherit; font: 100%; } #ygrp-mlmsg select, input, textarea { font: 99%
> Arial, Helvetica, clean, sans-serif; } #ygrp-mlmsg pre, code {
> font:115% monospace; *font-size:100%; } #ygrp-mlmsg * { line-height:
> 1.22em; } #ygrp-mlmsg #logo { padding-bottom: 10px; } #ygrp-mlmsg a {
> color: #1E66AE; } #ygrp-msg p a { font-family: Verdana; } #ygrp-msg
> p#attach-count span { color: #1E66AE; font-weight: 700; } #ygrp-reco
> #reco-head { color: #ff7900; font-weight: 700; } #ygrp-reco {
> margin-bottom: 20px; padding: 0px; } #ygrp-sponsor #ov li a {
> font-size: 130%; text-decoration: none; } #ygrp-sponsor #ov li {
> font-size: 77%; list-style-type: square; padding: 6px 0; }
> #ygrp-sponsor #ov ul { margin: 0; padding: 0 0 0 8px; } #ygrp-text {
> font-family: Georgia; } #ygrp-text p { margin: 0 0 1em 0; } #ygrp-text
> tt { font-size: 120%; } #ygrp-vital ul li:last-child { border-right:
> none !important; } -->


[Non-text portions of this message have been removed]