Mass convert a project to UTF-8 using Notepad++
Lately, I had to convert the encoding of a multimodule maven project from our default Cp-1252 encoding to UTF-8.The most dificult task however was converting all our source files from Cp-1252 to UTF-8 and preferably on Windows :) .
I’ve been looking into applications that would auto-convert everything for me, but none of them actually converted to content, resulting in garbage files. I almost started converting all the files by hand using Notepad++ when I discovered this process could be automated !
First of all you’ll need to install the Python Script plugin using the Notepad++ Plugin Manager. Then, after installing and restarting, you have to create a new script with the following code:
import os;import sys;filePathSrc="C:\\Temp\\UTF8"for root, dirs, files in os.walk(filePathSrc):for fn in files: if fn[-4:] != '.jar' and fn[-5:] != '.ear' and fn[-4:] != '.gif' and fn[-4:] != '.jpg' and fn[-5:] != '.jpeg' and fn[-4:] != '.xls' and fn[-4:] != '.GIF' and fn[-4:] != '.JPG' and fn[-5:] != '.JPEG' and fn[-4:] != '.XLS' and fn[-4:] != '.PNG' and fn[-4:] != '.png' and fn[-4:] != '.cab' and fn[-4:] != '.CAB' and fn[-4:] != '.ico': notepad.open(root + "\\" + fn) console.write(root + "\\" + fn + "\r\n") notepad.runMenuCommand("Encoding", "Convert to UTF-8 without BOM") notepad.save() notepad.close() |
If you have problems running the script, then first open the console (Plugins > Python Script > Show Console). Chances are that the indents got messed up (for those who don’t know Python, it doesn’t use curly brackets to identify a code block, it uses correct indentation instead).
P/S: You first have to create the script via “Plugins > New Script”, then it’ll be available in the menu:
Source: http://pw999.wordpress.com/2013/08/19/mass-convert-a-project-to-utf-8-using-notepad/
Không có nhận xét nào:
Đăng nhận xét