Why does my var speed say it is wrong

Title says it all when i typed the code it says unexpected char: 0xFEFF. (BCE0044) i know i know i sound like a whining noob put i wanted to learn gaming development and now that i have it and my code is not working it’s hard for me 2 continue. Here is my code i put down.
#pragma strict

function Start () {

}

var speed = 3.0;
var rotateSpeed = 3.0;

function Update ()
{

	var controller : CharacterController = GetComponent(CharacterControll­er);
	//Rotate around y - axis
	transform.Rotate(0, Input.GetAxis ("Horizontal") * rotateSpeed, 0);
	
	//Move forward / backward
	var forward = transform.TransformDirection(V­ector3.forward);
	var curSpeed = speed * Input.GetAxis ("Vertical");
	controller.SimpleMove(forward * curSpeed);
}

 @script RequireComponent(CharacterController)

Please if u know whats wrong tell me

You simple place this script ON the character you want to move. I think it should work.

A few lines where wrong, here you can read how to move an object around:

var speed = 3.0;
var rotateSpeed = 3.0;

function Update ()
{
	//Rotate around y - axis
    transform.Rotate(0, Input.GetAxis ("Horizontal") * rotateSpeed, 0);

    //Move forward / backward
    transform.Translate(Vector3 (0,0,Input.GetAxis ("Vertical")) * speed * Time.deltaTime);
}

There’s nothing (visible) wrong with your script. The character 0xFEFF is a special character at the beginning of a unicode file (it’s the byte-order-mark).

Try to change the encoding of your file. Check the save dialog of your texteditor for the encoding format. This is actually the same question.