Announcement

Collapse
No announcement yet.

Euro symbol displayed as question mark?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Euro symbol displayed as question mark?

    Hi all,

    Im having a real problem and hope someone can help.

    I have a store which uses euro's as the default currency.
    On the pc the symbol displays as it should but when viewed on a
    mac it displays as a question mark.

    This is a real problem as there will be a lot of mac users on this site. I don't know what is causing this.

    Please help!!

    Kind Regards

    Granthams.

    #2
    There is a known problem with the Euro currency symbol as Macs handle it differently from PCs.

    My suggestion is to replace the '€' in the 'currencies' table in ActinicCatalog.mdb with 'EUR'.

    Comment


      #3
      Thanks Chris,

      The only problem I have found with that is you get the price displayed as 'EUR45.99' etc. Is there any way of either having a space after the EUR or somehow using a euro symbol as an image?

      Kind regards

      Granthams

      Comment


        #4
        I have drawn a blank on this. If you would like to register an email support request at http://www.actinic.co.uk/support/register.htm (or call our team if you have cover) then you will be able to get some more in-depth investigation than we are able to offer here.

        Comment


          #5
          I have been trying to solve this problem myself. After a bit of research it would seem that no one solution can truly fix the problem.

          Firstly on Microsoft systems the euro symbol is represented by the (decimal) code 128 which this is translated into € in the HTML. This works great in IE on Windows but not on a Mac. It would seem that MS have gone their own way with this. The correct character code is 8364 (i.e. € in HTML).

          But even if you can get the alternate code into your HTML, it still might not work on any given PC unless that machine has an appropriate version of the font being used by the browser installed. Older fonts do not include the euro symbol and so they can't display it.

          Another solution is to use the € HTML entity but not all browsers understand that either. However, they might degrade more gracefully and display the entity literally.

          My current solution is to use the MS standard euro code (128) and also to have a statement that all prices are in euros.

          BTW Can anyone tell me where the 128 comes from in Actinic? I have tried replacing the 2 occurances of the euro symbol in the Currencies table with 8364 but when I preview the site the HTML still contains € What am I missing?
          Chris Brown

          Comment


            #6
            Here is the most lucid explanation of the euro symbol problem that I have found http://www.cs.tut.fi/~jkorpela/html/euro.html
            Chris Brown

            Comment


              #7
              I don't think your missing anything. My guess is that there is something in the application that controls this.

              As an alternative, could you not remove all euro currency symbols from the 'currencies' table in the database and then just include the euro symbol you want into the templates (Act_ProductPrice.html and Act_ShoppingCartXML.html).

              Comment


                #8
                Nice try

                Sorry Chris but I can't get that to work. I deleted the € symbols from the currencies table and stuck € in Act_ProductPrice.html. The result was 2 € symbols (one coded as € followed immediately by another coded as € )

                It is obviously done when NETQUOTEVAR:COST is substituted. I can't find "128" any user modifiable file (other than stuff to do with encryption) so it must be some sort of hack in the executable.

                Something for the development team?
                Chris Brown

                Comment


                  #9
                  Just a little bit more on this.

                  I tried changing the site currency to Chinese Renminbi Yuan and did a preview. The price is preceded by "RMBY" and a non-breaking space (  ). There is no space (breaking or otherwise) in the currencies table. Since you don't get a space after the € there is definitely some mucking about going on.

                  Hope that helps.
                  Chris Brown

                  Comment


                    #10
                    You are right. How odd.

                    I'll try this one with the development team.

                    Comment


                      #11
                      I've found a bit of help for removing the currency symbol from the total...

                      Edit ActinicOrder.pm.

                      Search for 'TOTAL' (including the quotes), you will see...

                      $hVariables{$::VARPREFIX . 'TOTAL'} = ACTINIC::EncodeText2($sTotal);

                      After this line, insert the following 2 lines...

                      @Response = FormatSinglePrice($nTotal, $::FALSE, $::g_pCatalogBlob);

                      $hVariables{$::VARPREFIX . 'NUMTOTAL'} = ACTINIC::EncodeText2($Response[2]);

                      Save and exit.

                      Edit Act_ShoppingCartXML.html and replace NETQUOTEVAR:TOTAL with NETQUOTEVAR:NUMTOTAL.
                      I'm awaiting a response from the team with instructions for doing this with every price in the shopping cart.

                      Comment


                        #12
                        Digging deeper...

                        In ActinicOrder.pm there a ReadPrice subroutine which contains the lines:
                        # To be safe, first strip the currency symbol (if any), then strip the thousand separator (if any)
                        #
                        $sPrice =~ s/&#[0-9]{1,4};//g; # strip special currency symbols of format &#nnnn;
                        $sCurSymbol =~ s/([.\$\\])/\\$1/g; # escape shady characters
                        $sPrice =~ s/$sCurSymbol//;
                        I am no Perl programmer but it is fairly clear that things are being overridden here. It is also possible that my previous attempts at removing € signs from the database were not being seen by Actinic due to the currencies table being cached (there is no way to modify it from within Actinic so there is no reason why it shouldn't be cached).

                        But my attempts to enter the correct code were bound to fail because you can't enter more than 5 characters into the SCURRENCY column of the currencies table and I think that you need to be able to enter "€".

                        BTW the stuff about non-breaking spaces is all driven by the ICURRENCY and INEGCURR columns in the currencies table and has no direct bearing on the € problem.

                        Let's leave it up to the developers to come up with a better solution and live with the limitations for now.
                        Chris Brown

                        Comment


                          #13
                          Back to the original question...

                          Hi Granthams,

                          When you have made the change originally suggested by cdicken, you can get a space between EUR and the value by making a couple of other adjustments in the currencies table.

                          Locate the € row (row sequence 12 in my database). Change the value of the ICURRENCY column from 0 to 2 and the INEGCURR column from 1 to 9.
                          Chris Brown

                          Comment


                            #14
                            Let's leave it up to the developers to come up with a better solution
                            Here's the response from Gordon in the Development team. This technique will stop Actinic from automatically adding its own currecy symbols into the Perl-generated pages.

                            This can be done by editing the DB (ActinicCatalog.mdb)

                            Open 'Catalog' table
                            In Design view, change field SCURRENCY to allow zero length
                            In Data view, delete the value in field SCURRENCY

                            Open 'Currencies' table
                            In Design view, change field SCURRENCY to allow zero length
                            In Data view, delete the value in field SCURRENCY
                            Naturally you should make a backup of the DB before attempting this.

                            Comment

                            Working...
                            X