Menu

Error on statistics page

Help
2010-03-30
2013-05-30
  • Trey Shehan

    Trey Shehan - 2010-03-30

    Can anyone please explain to me what the following means/how to resolve it?

    Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE: Syntax error or access violation: 1253 COLLATION 'utf8_unicode_ci' is not valid for CHARACTER SET 'latin1'' in C:\xampp\htdocs\phpgedview\includes\classes\class_pgv_db.php:830 Stack trace: #0 : PDOStatement->execute() #1 C:\xampp\htdocs\phpgedview\includes\classes\class_pgv_db.php(830): call_user_func_array(Array, Array) #2 : PGV_DBStatement->__call('execute', Array) #3 C:\xampp\htdocs\phpgedview\includes\classes\class_pgv_db.php(845): PGV_DBStatement->execute() #4 : PGV_DBStatement->__call('fetchAll', Array) #5 C:\xampp\htdocs\phpgedview\includes\functions\functions_db.php(430): PGV_DBStatement->fetchAll() #6 C:\xampp\htdocs\phpgedview\includes\classes\class_stats.php(3434): get_indilist_surns('COLBY', '', false, false, 1) #7 C:\xampp\htdocs\phpgedview\statistics.php(203): stats->chartCommonSurnames() #8 {main} thrown in C:\xampp\htdocs\phpgedview\includes\classes\class_pgv_db.php on line 830

     
  • Greg Roach

    Greg Roach - 2010-03-30

    It means that some of your tables have "utf8" (multi-byte) encoding and some have "latin1" (single-byte) encoding.

    Did this happen after you upgraded PGV from one version to another?

    Did you change the USE_DB_COLLATION setting in site configuration page?

     
  • Trey Shehan

    Trey Shehan - 2010-03-30

    I actually installed the newest version first.  I used that in the configuration.  When I turned it off, the pages that were affected began to work, but now the export to pdf functionality does not.  Any suggestions?  Could it be a setting I need to change in my sql?

    Thanks for all your help.

     
  • Greg Roach

    Greg Roach - 2010-03-30

    If you set USE_DB_COLLATION to "YES", PGV will use UTF8 everywhere.  This is the best option.

    If you set USE_DB_COLLATION to "YES", PGV will use your server's defaults.

    You must not change this setting after you have installed PGV.

    (This operation is chosen to allow people to use UTF8 and also to be backward-compatible with existing users who are using their server's default collation).

    You didn't tell me whether you changed this value, or what current setting.

    But, if you have just started, I guess you do not yet have any data in the system?  Delete all the tables in your database, and start again.  This time set USE_DB_COLLATION to YES before you start.

    <<When I turned it off, the pages that were affected began to work>>

    Very strange.  I cannot see how this problem would fix itself.

    <<the export to pdf functionality does not>>

    Is this a different problem.  Explain "does not work".  Is there an error message?

     
  • Trey Shehan

    Trey Shehan - 2010-03-30

    http://shehan.me/phpgedview/reportengine.php?action=run&report=reports%2Fpedigree_l.xml&download=1&varnames=pid&vars=I1&type=INDI&varnames=pageSize&vars=A4&type=&varnames=fonts&vars=dejavusans&type=&output=PDF

    It starts wtih
    ERROR 2: html_entity_decode() : charset `Latin-1' not supported, assuming iso-8859-1
    0 Error occurred on in function html_entity_decode
    1 called from line 7878 of file tcpdf.php in function unhtmlentities
    2 called from line 13116 of file tcpdf.php in function getHtmlDomArray
    3 called from line 13203 of file tcpdf.php in function writeHTML
    4 called from line 4021 of file tcpdf.php in function MultiCell
    5 called from line 740 of file class_reportpdf.php in function render
    6 called from line 329 of file class_reportpdf.php in function Header
    7 called from line 2687 of file tcpdf.php in function setHeader
    8 called from line 2445 of file tcpdf.php in function startPage
    9 called from line 2388 of file tcpdf.php in function AddPage
    10 called from line 351 of file class_reportpdf.php in function Body
    11 called from line 133 of file class_reportpdf.php in function run
    12 called from line 1620 of file class_reportbase.php in function PGVRDocEHandler
    13 called from in function call_user_func
    14 called from line 1463 of file class_reportbase.php in function endElement
    15 called from in function xml_parse
    16 called from line 386 of file reportengine.php

     
  • Trey Shehan

    Trey Shehan - 2010-03-30

    But everything else works perfectly fine.  It almost seems as if I could disable the errors from printing everything would be ok.

     
  • Greg Roach

    Greg Roach - 2010-03-30

    Thanks for posting the URL.  It makes it much easier.

    In your gedcom configuration page, there is an option for "Character Set Encoding".

    You have selected "Latin-1".

    This is not a valid encoding.

    Unless you have a very good reason to choose otherwise, use UTF-8

     
  • Trey Shehan

    Trey Shehan - 2010-03-30

    Works great.  Thanks a ton.

     

Log in to post a comment.