Write out all your character's physical characteristics and their personality quirks. Now you'll have a list to look at when you start coming up with names to see if they fit.
Try pairing a common name with an uncommon last name. It makes the character a little more easy to relate to than if the entire name is odd.
Use an odd spelling of a fairly common name, paired either with a common last name or not. For example, you could use Alys (Alice), Hanna (Hannah), Jon, or Ginnie.
Pick a certain sound or ethnicity for your character, and then use a name generator like "Behind the Name's" generator to come up with a name. You can even mix different kinds of ethnicities, like Russian and Greek, to create interesting sounding names and come up with a distinct sound for names from a certain region or culture in your book.
Give a character a name that is generally used for a different gender but is kind of ambiguous, like Taylor, Jesse or Jamie. Pair the name with a "fantasy" last name. It will add a little originality to the name.
Use nicknames to identify your characters and their traits. They can be either last names or first names, but it can tell a lot about your character and give their name an epic or exotic feel.
Get a dictionary for a language like Japanese, Welsh, Gaelic, or whatever language fits your world, and find descriptive words or nouns that make sense as a name for your character. Then look up those words in the dictionaries and see if any of the foreign language equivalents make a good name.
Make up a name. You basically just put letters together in an appealing way that sounds like a name that will fit your characters.