Unsupported characters

Help
2010-11-27
2013-05-28
  • Contrafibularity

    Oops, I never had any problems with áéíàèì or åæøöäü, but these characters seem to lack support:

    http://demo.refbase.net/show.php?record=4204
    (ŷ and ŵ and ṡ and ē and ć)

     
  • Contrafibularity

    Ah, thanks! I assumed that I had installed Refbase with UTF-8, but I was wrong. My sincere apologies. Is it possible then to switch from Latin-1 to UTF-8 or does that require a clean installl of Refbase? The otherwise helpful guide at http://refbase.textdriven.com/Installation-Troubleshooting does not seem to mention this.

    (P.S. I'm using MySQL 5.1.45)

     
  • Contrafibularity

    Ok, I’ve installed a second refbase database, now with UTF-8, and the characters are displayed correctly! Per http://www.refbase.net/index.php/Manual_installation, the first database was manually installed by copying the contents of <code>install.sql</code> to the SQL interpreter. However, what the manual didn't say is that a separate file (<code>install_utf8.sql</code>) must be used for Unicode installations. Glad that’s cleared up.

    I was about to create a mysql dump file, but then failed to understand what exactly http://refbase.textdriven.com/Troubleshooting#MySQL_migration_and_character_set_problems is trying to advise me to do (I have the feeling that a simple backup is what was being envisaged here. Only the last bit seems to cover conversion, if in the opposite direction, from UTF-8 to latin1):

    * Section (b) suggests that the two database installations should be aligned by editing <code>my.cnf</code>, wherever that is (I couldn’t find it). I've ignored this bit.
    * Section (C) goes on to describe how to dump the data. If the default output data are UTF-8, does that mean that the original data in Latin1 will be automatically converted to the new character set?

    Anyway, I’ve tried the following commands in the SQL utility of phpmyadmin, selecting the relevant database:

    mysqldump DATABASENAME –u USERNAME -p -opt > refbasedump.sql

    mysqldump DATABASENAME –u USERNAME -p -opt -default-character-set=utf8 > refbasedump.sql

    mysqldump DATABASENAME –u USERNAME -p -opt -complete-insert > refbasedump.sql

    (I also tried typing $ in front of it)

    Where obviously DATABASENAME and USERNAME represent the name of the database and the database user. But all I get is this error message:

    #1064 - You have an error in your SQL syntax

    which appears to be a common message for all sorts of things which may go wrong.

     
  • Contrafibularity

    Ah, it is possible that the SQL tab in phpmyadmin is not intended for shell commands like those above. If so, then I would need to find out how to do this in phpadmin.

     
  • Contrafibularity

    To go by the comments I've read after I did a Google search, it does look like shell commands cannot be executed through phpmyadmin. My host hasn't given me a command line interpreter, but there seem to be two alternatives here:

    (1) a simple utility which creates backups/dumps of selected databases
    (2) an export function in phpadmin

    Unfortunately, neither of them lets you modify the character settings, but I'll see if I can convert the dump file locally (i.e. at my home computer) using.

    iconv -f ISO-8859-1 -t UTF-8 refbasedump.sql -o refbasedump2.sql

     
  • Contrafibularity

    Sigh … no luck so far. I'm afraid I've run out of ideas.

     
  • Richard Karnesky

    What specific issues are you running into?  The general strategy of exporting your database from phpadmin, converting the encoding on a machine you have shell access on, and importing it in phpmyadmin is sound.

     
  • Contrafibularity

    Well, I was not sure what to do once I've opened the Mysql command line client. I placed the dump file in an existing refbase folder and ran

    iconv -f ISO-8859-1 -t utf-8 refbasedump.sql -o refbasedump2.sql
    

    , and tried specifying the full path as well (forward slashes, back slashes, double slashes).

    There's nothing to show in php.ini that iconv is enabled, but the problem may be much more obvious: I was trying to convert a dump file (created on Linux) on my Windows XP Prof OS. Is that feasible at all?

     
  • Richard Karnesky

    iconv is not a command to issue to mysql.  It is a stand-alone program that runs on POSIX systems.  There are likely Windows programs to do the same conversion, but I haven't experience with that.  You can use iconv in cygwin or get it via http://gnuwin32.sourceforge.net/packages/libiconv.htm

     
  • Contrafibularity

    OK, thanks again. I think I'll give the Windows version a try and if that does not work out, ask a friend with Linux if he can do the conversion for me.

     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks