Subject | Re: [firebird-support] when to use introducer syntax for charachter sets? |
---|---|
Author | Marsupilami79 |
Post date | 2012-03-06T08:40:58Z |
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:
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:
>[Non-text portions of this message have been removed]
> 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; } -->