Unexpected char:0xFEFF and Unknown PlayerStateController?

Script for 0xFEFF:

public var bulletPrefab : Transform;
public var bulletSpeed : float = 6000;
function Update () {
 if (Input.GetButtonDown("Fire1")) {
  if(!bulletPrefab || !bulletSpeed) {
   Debug.Log("[Shoot] 'bulletPrefab' or 'bulletSpeed'is undefined");
    } else {
     var bulletCreate = Instantiate(bulletPrefab, GameObject.Find("Spawnpoint").­transform.position, Quaternion.identity);
      bulletCreate.rigidbody.AddForc­e(transform * bulletSpeed);
      	  }
      	 }
      	}  

And here’s the script for Unknown Identifier:

function Update ()
{

PlayerStateContoller();
PlayerAnims();

}

function PlayerStateController()
{
if ((Input.GetAxis("Vertical") !=0 || Input.GetAxis("Horizontal") !=0))
{
if (Input.GetButton("Sprint")&&!Input.GetMouseButton(1))
{
PlayerState = 2;
} 

else if (Input.GetMouseButton(1) && !Input.GetButton("Sprint"))
{
PlayerState = 3;
}
else
{
PlayerState = 1;
}

}
else
if (!Input.GetMouseButton(1))
{
PlayerState = 0;
}
}

function PlayerAnims()
{
if (PlayerState == 0)
{
PlayerAnimSec.animation.CrossFade("idleanim", 0.4);
}
else if (PlayerState == 1)
{
PlayerAnimSec.animation.CrossFade("walkanim", 0.4);
}
else if (PlayerState == 2)
{
PlayerAnimSec.animation.CrossFade("sprintanim", 0.4);
}
}

Thank you and please tell me specifically because I just began coding (and not good at it heh) Thanks

The byte order mark (BOM) is a Unicode character used to signal the endianness (byte order) of a text file or stream. It is encoded at U+FEFF byte order mark (BOM). BOM use is optional, and, if used, should appear at the start of the text stream. Beyond its specific use as a byte-order indicator, the BOM character may also indicate which of the several Unicode representations the text is encoded in. (Well, so says Wikipedia!)

Save your script as an ascii-encoded file, or instead as a utf-8 one. These are changes you will need to make in your text editor.