The dollar rose on Friday, with traders looking beyond soft U.S. consumer-spending data, while the steadily sliding euro won a reprieve on diminished expectations the European Central Bank will soon ease monetary policy.
Meanwhile, Russia's ruble hit an all-time low against the dollar as worries grew that the Ukraine crisis may bring even more economic sanctions.
After setting 2014 peaks repeatedly this week, the dollar index was last up 0.26 percent at 82.689 after briefly turning lower when U.S. government data showed Americans' personal spending shrunk 0.1 percent in July.
The report, which economists had expected to show a rise of 0.2 percent, prompted speculation among traders readying for a three-day holiday break in the United States that U.S. gross domestic product may grow less during the third quarter than currently forecast.
But traders still see promise in the U.S. economy despite the disappointing data about spending that accounts for 70 percent of GDP, according to Boris Schlossberg, managing director at BK Asset Management in New York.
The dollar was trading up 0.33 percent against the Japanese , which has risen this week on safe-haven buying triggered by the Ukraine crisis.
The dollar last traded above 104 yen.
The euro was last off 0.3 percent above $1.31, having risen to a session high soon after a report on euro zone inflation, and touching a one-year low.
The euro was on track for a second straight month of losses as euro zone annual inflation has slowed to a five-year low of 0.3 percent, well below the ECB's "danger zone'' of 1.0 percent.
The euro zone currency has shed 3.6 percent against the dollar in the past three months, partly due to the conflict in Ukraine, which is likely to weigh on growth in the bloc.
Euro weakness against the dollar will persist for years and will lead to price parity between the euro and the greenback, a new report by Goldman Sachs said.
In New York, the ruble dropped 1 percent to roughly 37.12 per dollar after hitting an all-time low.