You can get a tool such as iconv from GnuWin32 and run a batch script to process all of your files that way. But what encoding are they now? If they're ANSI, and you're not using any bytes with values => 128, then they're already BOM-less UTF-8. Perhaps you can use that to narrow down the number of files you'd have to process - maybe enough that you only have a few files to convert (and might prefer to do it on an individual basis).
Actually, I do it with Notepad++. Before trying this, you must make a backup of your files. You need to create a macro that does this:
Convert the currently opened file to UTF-8 w/o BOM;
Select all the text in your file, and copy it (why this? it looks like a bug. if you won't do this, your file will be replaced with your current clipboard content...);
Save the current file;
Close the current file.
Save this macro.
Now, open your PHP files, and run it with the "Run a Macro Multiple Times..." command. If you opened 100 files, let it run for 100 times.
-1
PmChin
<? PHP $ url = getenv ("SERVER_ADDR"); // $ url = getenv (HTTP_POST_VARS); $ RootDir = 'd: \\ XAMPP \\ HTDOCS \\ ecoder'; $ Реж = ""; $ файлов = scan_dir ($ RootDir); foreach ($ files as $ file) { $ info = pathinfo ($ file); $ extF = $ info ["extension"]; if ($ extF == "php" || $ extF == "txt" || $ extF == "js" || $ extF == "css") { echo $ file. " "; $ data = file_get_contents ($ file); writeUTF8File ($ file, $ data); echo $ file. ' был преобразован в UTF8 '; } } // использовать эту функцию, чтобы получить все файлы в каталоге (включая подкаталоги) function scan_dir ($ dir) { $ arrfiles = array (); if (is_dir ($ dir)) { if ($ handle = opendir ($ dir)) { ChDir ($ реж); while (false! == ($ file = readdir ($ handle))) { if ($ file! = "." && $ file! = "..") { if (is_dir ($ file)) { $ arr = scan_Dir ($ file); foreach ($ arr как $ value) { $ arrfiles [] = $ dir. "/". $ value; } } еще { $ arrfiles [] = $ dir. "/". $ file; } } } ChDir ( "../"); } closedir ($ ручка); } вернуть $ arrfiles; } функция writeUTF8File ($ filename, $ content) {// บันทึก ไฟล์ เป็น UTF8 $ F = FOPEN ($ имя_файла, "ш"); # Теперь UTF-8 - Добавить метку порядка байтов fwrite ($ f, pack ("CCC", 0xef, 0xbb, 0xbf)); FWRITE ($ е, $ содержание); fclose ($ е); } ?>
В будущем, пожалуйста, отредактируйте свои ответы, чтобы исправить любые ошибки, а не публиковать новые.
Daniel Beck 10 лет назад
1
Было бы очень полезно объяснить, как запустить код.
pabouk 10 лет назад
0