How the SDK handles unicode

I spent several painful hours learning the following about how the SDK handles unicode characters -- perhaps I've missed where this is documented?  Here's what I learned:
- Lua strings are sequences of 8-bit characters (bytes).
- A unicode ZString is represented as a Lua string containing the UTF-8 encoding of the unicode ZString.  For example, the trademark character (TM) is unicode codepoint 2122 (hex), and the ZString LOC "$$$/unicode/tm=^U+2122" is represented as a Lua string of length three, the UTF-8 encoding of that character (decimal bytes 226 132 162).
- A posting from Adobe employee "escouten" last year said that all SDK APIs treat all Lua strings as UTF-8 encoding of unicode strings.  I've personally observed that with LrView, LrFileUtils, and LrTasks.execute, but haven't checked other APIs.  In particular, a Windows unicode filename will be returned by LrFilteUtils as a Lua string encoding the the filename in UTF-8.  Passing that filename in a command line to LrTasks.execute works correctly.  (But writing a Windows batch file with a UTF-8 filename won't in general work -- a topic for another day.)

Hi John,
I'm struggling a little with this UTF-8 topic currently. I can sympathize with your several painful hours now. :-)
1) Can you (or somebody else) reproduce the following issue: (Win 8.1. LR 5.6)
If your photos are stored in a UTF-8 encoded directory such as c:\users\username\Pictøäöüש (the last letter being the Hebrew letter shin). (This is kind of my test case after users from Norway and Israel reported problems.)
    local picName = selectedPhoto:getRawMetadata ("path")
    outputToLog (picName)
I get the wrong result:
C:\Users\username\Pictøäöüש\7L6B7931.CR2
If I use, on the other hand, getFormattedMetadata:
outputToLog (selectedPhoto:getFormattedMetadata ("folderName") .. " and " .. selectedPhoto:getFormattedMetadata ("fileName"))
I get a correct result (but not the full pathname)
Pictøäöüש and 7L6B7931.CR2
Going from there, I could probably figure out the full path name (which does not seem to be offered in getFormattedMetadata), but I would like to figure out what's wrong with selectedPhoto:getRawMetadata ("path").
2) The following is more for reference: I cannot seem to pass previews.db path name to sqlite if the path of the previews.db (LR catalog path) contains non-ASCII utf-8 characters.  (Other UTF8 commands on the command line work well.) chcp 65001 doesn't help. sqlite is supposed to accept UTF8 characters in the db name, but somehow doesn't (at least my version, which is somewhat older). I have worked around this issue by first cd-ing to the directory and then starting sqlite i.e. along the lines of "cd <previews-dir> && sqlite3 previews.db" This seems to work so far, even if some new issues have come up of which I don't know yet whether they are related to this or not.

Similar Messages

  • How the ACE handles rserver failures

    Hello
    I've got a question re: the ACE module.
    Lets say I have 2 web rservers and I have a probe interval for checking them from the ACE of 10 seconds.
    Lets say a probe just passed and it is 10 seconds before the next one. The ACE will think the rserver is ok. Then say the rserver httpd service is stopped at 3 seconds after the last successful probe, therefore leaving 7 seconds before the ACE is going to send another probe. The ACE will think it is still 'up' before the next probe is sent.
    Given the above, what happens to a) existing connections to the newly failed rserver and b) new connections if the failure occurs between probes?
    How does the ACE handle this situation?
    Are there any differences between how the ACE handles this between A1 and A2 versions of software?
    Thanks
    Cameron

    URL rewrite only comes into play when REAL Server (Rserver )sends a clear text redirect. Such as 302 for http://investor.nice360.com. If client recieves this 302 it will attempt the next request using HTTP.With Url rewrite feature we configure ACE to change these redirects from Http tp HTTPS.
    What you are looking for is a simple redirection of client request from port 80 to port 443. This can be achieved using redirect server farm and redirect rserver.
    You will need to create two sets of configs (class-maps, rserver, sfarm,policy map) for port 80 & port 443 traffic. Port 80 policy will simply redirect the port 80 request to port 443.
    Following example will give you some idea
    rserver redirect HTTP2HTTPS
    webhost-redirection https://%h%p 301
    inservice
    serverfarm redirect HTTP2HTTP-SF
    rserver HTTP2HTTPS
    inservice
    class-map match-all WEB-HTTP
    2 match virtual-address 172.25.250.245 tcp eq http
    class-map match-all WEB-HTTPS
    2 match virtual-address 172.25.250.245 tcp eq 443
    policy-map type loadbalance first-match HTTP2HTTPS-POLICY
    class class-default
    serverfarm HTTP2HTTPS-SF
    policy-map type loadbalance first-match L7-POLICY
    class class-default
    sticky-serverfarm STICKY_IP
    policy-map multi-match L4-POLICY
    class WEB-HTTP
    loadbalance vip inservice
    loadbalance policy HTTP2HTTPS-POLICY
    loadbalance vip icmp-reply
    class WEB-HTTPS
    loadbalance vip inservice
    loadbalance policy L7-POLICY
    loadbalance vip icmp-reply
    ssl-proxy server INVESTOR-CLIENT
    Syed

  • How does the SDK and Reader handle printing with orientation?

    I have a document that I want to print, and it contains a portrait page on Page 1, and a landscape page on Page 2.  Acrobat Reader correctly prints these pages (with a single print job), and I'm assuming it's because of the auto-rotate option on the print dialog.  Is this a feature of Reader, the API, or how the printer handles the request.  I've tried printing this PDF just using the JAva API, but the orientation remain portrait for all pages.  How does the Adobe Acrobat API deal with mixed orientation pages?  Ignore the fact that I did my test printing with Java, because my question is whether or not the auto orientation is a feature of the UI, the SDK, or the printer (or a combination).

    Same as the current Ipod Video or "Classic" there is an option under settings to toggle between original aspect ratio or Full Screen.
    Kenal0

  • How does the EDB handle deleted items and why am I only able to recover some and not all previously deleted emails?

    Hello,
    I have been unable to locate information regarding how the EDB handles deleted files.  I am able to recover deleted emails from the EDB; however, there are numerous emails that I know have been deleted, that were not recovered during the recovery process.
     Is this because the EDB dumps deleted emails once it reaches a certain amount of entries?  Or is it more likely the deleted items are corrupted and thus not recoverable?  Thank you for your time and I look forward to your responses.  The
    product in question is Microsoft Exchange Server 2007.

    Great information from the other posters and one other possible explanation is if the users did a HARD DELETE.  More information on this below
    Pre-Exchange 2010 Dumpster 1.0 worked as follows;
    1. When a user does a normal delete of an item via Outlook or OWA it gets sent to your deleted items folder
    2. If the user then empties deleted items folder those items are then marked with the ptagDeletedOnFlag attribute which in essence hides them from the view of the user
    3. At this point the user can use the Recover Deleted Items function in Outlook to recover those items as long as the items were NOT purged using the Recover Deleted Items option OR the items have not passed still the deleted item retention period.
    NOTE: Every day there is a nightly maintenance process that in short looks through  the DB and examines items that have been deleted. Items that have met or exceeded the deleted item retention period are purged from the system and are
    completely non-recoverable.  More about this at the end of my post.
    4. However if the end user were to  delete an item from the Inbox or another folder in Outlook by using Shift + Delete aka a Hard Deletion the item is left in its orignal location and gets marked with the ptagDeletedOnFlag attribute which again just
    hides it from view.
    5. By default you can only use the Recover Deleted Items option on the Delted Items folder.  Howeve you can make it so that you can recover hard Deleted items from other folders.  More on that here http://support.microsoft.com/kb/246153
    5. The problem with this method though IMO is that you have to know where to look and that can be rather time consuming.
    6. If you want a more elegant method to resolve this and are open to using 3rd party utilities check out Lucid8's DigiScope. 
    http://www.lucid8.com/product/digiscope.asp which will allow you to open any offline copy of the DB from a forensic point of view and to solve your specific issue you can either turn on a filter to ONLY
    show hard deleted items OR you can search the entire store and all mailboxes for just deleted items and can then view or export them to PST or MSG format.  You can download the product and obtain a 30 day demo license which will allow you to find any
    hard deleted items, however to view them or export your would need to purchase a license.
    NOTE: When a database is backed up or copied it is an "Offline" database and then its offline the data retention period is not an issue because the nightly online maintenance process can only act on a database that is mounted on an
    Exchange server.  So for this reason if you want to recover the most data possible use offline copies/backups of the DB with a 3rd party utility like DigiScope
    NOTE 2: Exchange 2010 and 2013 use Dumpster 2.0 which is an entirely different beast and I will not go into that in this post since its nearly 1AM  however DigiScope can expose that information as well
    Search, Recover, & Extract Mailboxes, Folders, & Email Items from Offline Exchange Mailbox and Public Folder EDB's and Live Exchange Servers or Import/Migrate direct from Offline EDB to Any Production Exchange Server, even cross version i.e. 2003
    --> 2007 --> 2010 --> 2013 with Lucid8's
    DigiScope

  • How does the JVM handle private class parameters in a utility class?

    If I have a class that is public and not labeled as static, but it's constructor is private so that it cannot be instantiated, and all of its parameters and methods are both private and static. The methods modify the private parameters. In this case, the code explicitly is avoiding a singleton pattern, so there isn't even a class being instantiated, so this is a true utility class.
    However, the static methods are accessible from multiple objects, and as far as I can tell, the JVM is persisting the parameters in memory beyond the specific thread that called the static method to begin with.
    The question I have is how the JVM handles this? Are these private parameters assigned memory and are indeed persisted independent of thread, since there is no class reference. I am working with byte code injection, and the assumption is that a direct reference to a static parameter is much faster to call than having to go through an object reference. Of course, from a programmer point of view, I much prefer the singleton pattern since I am so used to hang my hat on a class reference.
    Thanks.

    entguru wrote:
    However, the static methods are accessible from multiple objects...Not if the methods are private, as you seemed to indicate ("all of its parameters and methods are both private and static").
    Are these private parameters assigned memory and are indeed persisted independent of thread, since there is no class reference. There is a class reference. It refers to the class, and is obtainable via the class literal; e.g., MyClass.class.
    ~

  • How the Pop UP window got closed on line select

    Hi All,
    at BP_ADDR component we are calling component BP_SEARCH_HELPS by cross component usage on F4,
    then we are doing bank details search, then on single line select at View BP_SEARCH_HELPS/BankKeySearchHelpResult
    then it goes to event handler method EH_ONSELECT then.
    inside this method we have code for to call window outbound plug RETURNRESULT'
    METHOD eh_onselect.
    via viewmanager:
      DATA: lr_window          TYPE REF TO cl_bsp_wd_window.
      lr_window ?= me->view_manager->get_window_controller( ).
      lr_window->call_outbound_plug( iv_outbound_plug   = 'RETURNRESULT' ).
    endmethod.
    but at Window out bound plug there is no code for cross comp Window navigation (like Fire_outbound_plug with navigation link)
    then also popup is closing and it gets navigating to BP_ADDR component, how it happenning...?
    code at window BP_SEARCH_HELPS/BankKeySearchHelpW outbound plug is
    method OP_RETURNRESULT.
    endmethod.
    there is no navigation link also defined for window BP_SEARCH_HELPS/BankKeySearchHelpW at Runtime repository.
    one more question is how the event handler method EH_ONSELECT is executed for line select (we r not define any server event for any field of table's context node), is it property of Table context node?
    Thanks,
    VjMhyd

    Hi VJ,
    I hope you are able to find the answer to your question that "how pop up is closing and navigation is done to BP_ADDR component" if not here is the answer.
    Go to your window class and search for method call_outbound_plug ( remove the filter check box ). inside that method firstly your outbound plug method RETURNRESULT will be called and then you will find another method fire_outbound_plug. inside this method there is code to navigate back and close the pop up. this code is only triggered for pop up cases and that's how navigations takes places.
      check if this is a popup rep. view
        if ME->IS_TOPLEVEL_WINDOW = ABAP_TRUE.
        We ignore the navigation for popups but save the outbound plug if given
        and tell the current popup to get closed
          data: LV_VIEW_MANAGER    type ref to LCL_VIEW_MANAGER,
                LV_APPL_CONTROLLER type ref to CL_BSP_WD_APPL_CONTROLLER.
          try.
              LV_VIEW_MANAGER ?= ME->VIEW_MANAGER.
              LV_APPL_CONTROLLER ?= LV_VIEW_MANAGER->GET_APPLICATION_CONTROLLER( ).
              LV_APPL_CONTROLLER->POPUP_MANAGER->CLOSE_POPUP( IV_OUTBOUND_PLUG ).
            catch CX_SY_MOVE_CAST_ERROR.                    "#EC NO_HANDLER
          endtry.
    I hope this clarifies your issue.
    Thanks
    Sudhir Grover

  • In ldap how do you handle to users logged in at the same time

    in ldap if i am logged in as one user and make a change to a page and another user makes another change how do i handle refresh the other persons logged in pages...

    Hi,
    to which page do you add a change and what has LDAP to do with this ?
    Frank

  • How do you handle multiple at the same address?

    My wife just got an iMac. She is using the Birthday feature in Address Book and iCal to track our friends and family birthdays and anniversaries.
    Question:
    How do you track it when multiple people are at the same address? For instance, our friends are a family of four, but they all live at the same address. Do you need to make a separate Address Book card for each of them, even the 1 year old baby? Or can you track multiple people in a single card with custom fields?
    If you do need to make multiple cards, then how do you handle mailing lists? For instance, if I make separate cards for all four of them, how do I make sure I only send on Christmas card when I use my Mac to print labels?
    Thanks for any advice.

    This is really an issue that you're going to have to resolve yourself since Apple's address book isn't really built with this in mind - darn it. For me there are three scenarios. First, a singleton. No problem. Second a family for which all members share the same information - acquantences to whom I don't send birthday greetings. These get one card and I'll put in both (or all) their names in the first name field (as in Bob and Jean). If there are children, in the last name field I'll add 'and Ken' or 'and the kids'. Third, a family for which some fields are different - perhaps cell phone number, birthday, etc.
    For mailing purposes, I create a holiday group and put the people I'll be sending cards to into the group.

  • How does IITTrackCollection handle ItemByName if there are multiple tracks by the same name?

    I am writing a program in C# that is trying to check if a track already exists in the iTunes Library before adding it (thus preventing duplicates).  The best method I have come up to do this with is to use 'MyPlaylist.ItemByName(SongName)' to retrieve a possible duplicate and then compare the rest of that track's attributes (i.e. the artist and album).  However, I have several examples of tracks in my library which have the exact same name, but are in fact completely different and unrelated.  How is this handled by the iTunes COM?  Or is there a better way to do it?

    Hi DSW,  
    Thanks for your post.
    In your query result, please check if these two users have the same Account Name. if they are two different Account Name in result, it indicate there’s two users have the same display name in your AD, please check that two users’ information in
    your AD. We suggest change one user’s display name in AD.  
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • How can we handle browser settings while dealing with the security ?

    Hi ,
    how can we handle browser settings while dealing with the security ?When we configured security in web.xml , during the first request the container is asking for the authentication credentials once they are provided it go's on. but when the user gives a fresh request from the second window within the same browser that time it is not asking for authentication. How can we overcome this.Is there anything to do with server configurations?
    How can we make the container no to keep the things or act like session?

    Ya... I am taking a small example need not happen always but a kind of possibility i am thinking off.
    once the user sign out and just left without closing the browser and a friend (suppose not a good friend ... just kidding...) of that user may open the same jsp or file .This time the security is breached. If that feature or property exists....
    I know what you might say ... the user will log-out before leaving where a programer might invalidate the session at the time of log out.
    Consider the case of a bad Programing or just a programer might forget to invalidate,At that time as a application administrator how can he solve that issue.
    Thanks.......
    Edited by: user8483670 on Jun 6, 2011 1:08 AM
    Edited by: user8483670 on Jun 6, 2011 1:09 AM

  • How do you remove the filename/path using the SDK

    I have a program that uses the Adobe Acrobat SDK . It creates aPDF file from a HTML file that gets created after the program cruches some data. It can create the PDF file fine but how do I get it to do it with out the file name and path in the lower left corner. We insert the created PDF file into another document and do not want to show the data on these created pages.
    Have searched through this site and can not see it mentioned.   HELP !!!

    I am not the programmer, he is out of the office today.
    What I see happen is that our program is used to create a database of the content of a multipage PDF file (an old doucment that has been scanned and OCR'd), the program then outputs the data as a HTML file (not the Adobe SDK).
    This HTML file is then converetd into a PDF file and attached to certain subsets of the original PDF file, its does a whole bunch of splitting and recombining of the document into the sections we need. It does this fine, no problems at all. All of this is done using our program and the Adobe SDK.
    The issue is that the PDF file (generally just one page) that gets created from the HTML file includes file name and file path at the lower left corner of the page. We are looking for the commands within the SDK that can turn the feature/function that creates this text on/off.
    As the Adobe Acrobat on this machine is used for many different jobs, some that require this text to be shown on other documents that are created (by using Acrobat itself and not the SDK) we really don't want to have to open Acrobat itself everytime we want to run this process.
    The SDK seems to have commands for pratically everything else, we were hoping it also has the commands within it that we can then program to not create this one area of text when converting the HTMl to PDF file from within our program..
    I hope that comes across OK
    PS
    I just ran a test creating a PDF file froma  webpage, and I can see the field Place Headers and Footers on a new page. I have tried creating the page with and without the Headers and Footers, that works fine. But can this be done just by using the SDK and if so where is that command located.
    Message was edited by: MichaelEastick

  • How can I get the direction handles to show up for the Position attribute?

    How can I get the direction handles to show up for the Position attribute?
    I have CS3 and I did the formentioned test and was able to make the handles work for the scale attribute but they don't seem to show when editing the position values.
    *I am in the graph editor looking at the "value graph"
    *I select the keys and convert the keys to auto bezier (I also tried the ease in and out buttons)
    *It changed the graph the way you might think (no longer linear) however the handles are not showing to edit further.
    *I also tried using the "convert vertex tool" (part of the pen tool) and still no luck getting those handles.
    *the handles only show up in the speed graph but that does me no good.
    Please help!
    THANKS 

    I don't have CS3 installed on any of my machines any more but your value graphs for position should look something like this:
    There are no handles for position in the Graph editor. You adjust the position curve by editing the motion path in the composition window. Press the G key to bring up the pen tool, then use the modifier keys Crtl/Cmnd and Alt/Option to temporarily switch between select and convert vertex to adjust the paths. Changes will be reflected in the value graphs. You will get editable handles with scale and rotation because these are not spatial properties. Spatial properties, position, Anchor Point, all XY & Z coordinates are edited in the comp window or in the layer window after revealing the properties. IOW, you edit anchor point position paths by opening up the layer window and choosing Anchor Point from the display options.
    The Manual isn't wrong. Here's a link to the live docs.

  • How to display the 500-internal server error on the Exception Handler page

    Hello
    My situation is as follows : JDev 11.1.1.0.2, ADF fusion application, one unbounded task flow containing 2 view pages view1.jspx and error.jspx
    The error jspx is marked as the exception handler.
    When an error occurs (typically a 500-Internal Server Error) the error.jspx is correctly displayed and shows our message such as 'Don't panic, please call our tech support'
    What I would like to do is to display the actual error stack on this page along with our message.
    I've searched around and I can't find how to either get the error stack in a bean or what EL expression should be used to get the error stack.
    Can anybody help ?
    Best Regards
    Paul
    Switzerland

    The error will be the same, but the stack trace will be different, such as
    Error 500--Internal Server Error
    oracle.adf.controller.security.AuthorizationException: ADFC-0619: Echec de la vérification des autorisations : '/view1.jspx' 'VIEW'.
         at oracle.adf.controller.internal.security.AuthorizationEnforcer.handleFailure(AuthorizationEnforcer.java:145)
         at oracle.adf.controller.internal.security.AuthorizationEnforcer.checkPermission(AuthorizationEnforcer.java:124)
         at oracle.adfinternal.controller.state.ControllerState.initializeUrl(ControllerState.java:639)
         at oracle.adfinternal.controller.state.ControllerState.synchronizeStatePart2(ControllerState.java:449)
         at oracle.adfinternal.controller.application.SyncNavigationStateListener.afterPhase(SyncNavigationStateListener.java:44)
         at oracle.adfinternal.controller.lifecycle.ADFLifecycleImpl$PagePhaseListenerWrapper.afterPhase(ADFLifecycleImpl.java:529)
         at oracle.adfinternal.controller.lifecycle.LifecycleImpl.internalDispatchAfterEvent(LifecycleImpl.java:118)
         at oracle.adfinternal.controller.lifecycle.LifecycleImpl.dispatchAfterPagePhaseEvent(LifecycleImpl.java:166)
         at oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener$PhaseInvokerImpl.dispatchAfterPagePhaseEvent
    What I would like is to display the above stack trace on the page marked as the exception handler....
    Regards
    Paul

  • TS3694 Please how do I handle this. I downloaded a higher version of my Iphone 3 but during the installation it always hangs and show an error message that it cannot be downloaded with code1015.

    Please how do I handle this?
    I downloaded a higher version of my Iphone 3 but during the installation it always hangs and show an unknown error message that it cannot be downloaded and the code of the message 1015.

    This is usually a result of the iPhone being hacked with the cutsie term for that "jailbroken".
    http://support.apple.com/kb/TS3694#error1015
    Error 1015: This error is typically caused by attempts to downgrade the iPhone, iPad, or iPod touch's software. This can occur when you attempt to restore using an older .ipsw file. Downgrading to a previous version is not supported. To resolve this issue, attempt to restore with the latest iPhone, iPad, or iPod touch software available from Apple. This error can also occur when an unauthorized modification of the iOS has occurred and you are now trying to restore to an authorized, default state.

  • How do you add a function to an existing Rules Dictionary via the SDK?

    The how to SDK describes creating a new dictionary and adding functions and other items. However, in reading the Java API docs, it is not apparent how one would add a new function to an existing dictionary.
    Once you have a reference to the RuleDictionary, there is a getDataModel method, but it returns a oracle.rules.sdk.datamodel.DataModel instead of the oracle.rules.sdk.editor.datamodel.DataModel. It appears that this DataMode class is different than the DataModel class in the editor sub-package. Further this DataModel class is not described in the API docs.
    There is an addFunction method, but I do not see how to create an instance of the Function class.
    Thanks,
    Bret

    Look at the oracle.rules.sdk.editor.datamodel.DataModel Constructor:
    Constructor Summary
    DataModel(RuleDictionary dict)
    Constructor used to edit a datamodel.
    So, the call would look something like:
    RuleDictionary dict = ...;
    oracle.rules.sdk.editor.datamodel.DataModel dm = new oracle.rules.sdk.editor.datamodel.DataModel(dict);

Maybe you are looking for

  • Zen Touch is not recognised on my

    I have installed the new Firmware and the new music manager software etc, but it just won't be recognised by my PC anymore. It keeps asking me to install the thing. I insert the official zen touch CD and go through the motions, but it still doesn't w

  • Can't re-enable accounts with workgroup manager

    Morning, We have had cause to disable approximately 100 student accounts earlier this week, and we are now finding that we can not re-enable them. This is a major problem as it's coming to the end of term and they all need to be able to login! The se

  • PO_LINES_ALL how to identify POs of types "Standard POs" and "Blanket POs"

    Hello everyone, I have to create a report that contains all PO lines (from PO_LINES_ALL) and this report should only include the following document types: Standard purchase orders and Blanket purchase orders. Is there a field that identifies if a PO

  • Performance Manager appears Error 2 in extracted graph - MDS9513

    Hi Experts, I took a graph from ISL links and appears : Error when put mouse on top appears Error 2, the picture of graph in attached What kind of erros are these? Could you help me? Tks, Wellington

  • Problem with JSF commandbutton !! help needed

    I have a command button like <h:commandButton id="submit" value="Submit" action="#{CheckForm.save}" /> when i browse this, it is rendered as <input id="editSaveAppliance:submit" name="editSaveAppliance:submit" type="submit" value="Submit" onclick="cl