new phpMyAdmin collate and convert oddness

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • news@celticbear.com

    new phpMyAdmin collate and convert oddness

    We just upgraded our phpMyAdmin GUI to the latest stable version, and
    now the SQL queries are doing odd additions.
    First, without changing the database it's connecting to at all, there's

    a new column "collation" for all the tables, and the value in all of
    them is: "latin1_swedish _ci".
    I'm doubting that's what it should be.


    And any SQL querey formulates like:


    SELECT *
    FROM `accounts`
    WHERE `company` LIKE CONVERT( _utf8 'cyber'
    USING latin1 )
    COLLATE latin1_swedish_ ci
    LIMIT 0 , 30


    with new CONVERT and COLLATE, instead of the usual queries like:


    SELECT *
    FROM `accounts`
    WHERE `company` LIKE '%cyber%'
    LIMIT 0 , 30


    I can't find in the documentation why it's doing this, and looking
    through conf.inc.php, can't find any setting that may apply.


    Any clue what I should look at?
    Is it simply displaying some quality about the mySQL database that had
    heretofore not been exposed? If Collation is an attribute that is there

    and must now be taken into account, it looks like I can change it in
    "Operations ," what's the proper, standard English setting?
    "ascii_gen_cli" ?


    Thanks for any feedback!
    -Liam

  • Juliette

    #2
    Re: new phpMyAdmin collate and convert oddness

    news@celticbear .com wrote:[color=blue]
    > We just upgraded our phpMyAdmin GUI to the latest stable version, and
    > now the SQL queries are doing odd additions.
    > First, without changing the database it's connecting to at all, there's
    >
    > a new column "collation" for all the tables, and the value in all of
    > them is: "latin1_swedish _ci".
    > I'm doubting that's what it should be.
    >
    >
    > And any SQL querey formulates like:
    >
    >
    > SELECT *
    > FROM `accounts`
    > WHERE `company` LIKE CONVERT( _utf8 'cyber'
    > USING latin1 )
    > COLLATE latin1_swedish_ ci
    > LIMIT 0 , 30
    >
    >
    > with new CONVERT and COLLATE, instead of the usual queries like:
    >
    >
    > SELECT *
    > FROM `accounts`
    > WHERE `company` LIKE '%cyber%'
    > LIMIT 0 , 30
    >
    >
    > I can't find in the documentation why it's doing this, and looking
    > through conf.inc.php, can't find any setting that may apply.
    >
    >
    > Any clue what I should look at?
    > Is it simply displaying some quality about the mySQL database that had
    > heretofore not been exposed? If Collation is an attribute that is there
    >
    > and must now be taken into account, it looks like I can change it in
    > "Operations ," what's the proper, standard English setting?
    > "ascii_gen_cli" ?
    >
    >
    > Thanks for any feedback!
    > -Liam
    >[/color]


    You are using a MySQL version >= 4.1 which supports charsets and
    collation. Have a look at the mysql documentation.

    For English charset you could use latin1_general_ ci

    Grz, Jrf

    Comment

    • news@celticbear.com

      #3
      Re: new phpMyAdmin collate and convert oddness


      Juliette wrote:[color=blue]
      > news@celticbear .com wrote:[color=green]
      > > We just upgraded our phpMyAdmin GUI to the latest stable version, and
      > > now the SQL queries are doing odd additions.
      > > First, without changing the database it's connecting to at all, there's
      > >
      > > a new column "collation" for all the tables, and the value in all of
      > > them is: "latin1_swedish _ci".
      > > I'm doubting that's what it should be.
      > >
      > >
      > > And any SQL querey formulates like:
      > >
      > >
      > > SELECT *
      > > FROM `accounts`
      > > WHERE `company` LIKE CONVERT( _utf8 'cyber'
      > > USING latin1 )
      > > COLLATE latin1_swedish_ ci
      > > LIMIT 0 , 30
      > >
      > >
      > > with new CONVERT and COLLATE, instead of the usual queries like:
      > >
      > >
      > > SELECT *
      > > FROM `accounts`
      > > WHERE `company` LIKE '%cyber%'
      > > LIMIT 0 , 30
      > >
      > >
      > > I can't find in the documentation why it's doing this, and looking
      > > through conf.inc.php, can't find any setting that may apply.
      > >
      > >
      > > Any clue what I should look at?
      > > Is it simply displaying some quality about the mySQL database that had
      > > heretofore not been exposed? If Collation is an attribute that is there
      > >
      > > and must now be taken into account, it looks like I can change it in
      > > "Operations ," what's the proper, standard English setting?
      > > "ascii_gen_cli" ?
      > >
      > >
      > > Thanks for any feedback!
      > > -Liam
      > >[/color]
      >
      >
      > You are using a MySQL version >= 4.1 which supports charsets and
      > collation. Have a look at the mysql documentation.
      >
      > For English charset you could use latin1_general_ ci
      >
      > Grz, Jrf[/color]

      Ah, yes, I forgot we updated our mySQL to 4.1.12 as well.
      Gawd it's insane trying to get plain, understandable (to me) clear info
      in the mySQL site!
      What I don't understand, and can't find, is why the appearant setting
      for collation on the database is swedish, when we never set any
      character set or collation.
      But taking a closer look, on the phpMyAdmin home page, the language is
      set to "English (en-utf-8)", the MySQL charset to "UTF-8 Unicode
      (utf8)", and MySQL connection collation to "utf8_general_c i", but on
      all the tables and databases, the collation is "latin1_swedish _ci".

      Do I have to alter every table (GAH!) to match thestated collation? Is
      having these swedish collation settings causing some unseen issues I
      should be aware of (aside from making SQL queries in phpMyAdmin
      extremely annoying.)

      Thanks for any feedback!
      -Liam

      Comment

      Working...